I'm using an older computer as a Linux Router Project box
(www.linuxrouter.org) to share my dial-up connection across my small home
LAN.
I've got a 3Com/USR external faxmodem and an internal 3com NIC.
I've gone through configuration hell, but I've got it working. It actually
works, packets are forwarded across the network just beautifully. You'd
think there's no problem at all, everything runs perfectly.
Then, at seemingly random and unconnected intervals, say, if i don't use the
LRP box for a few days, then fire it up, dial up, stay on for a few hours,
get disconnected, reconnect, get disconnected again (not the most reliable
ISP), then try to redial, it won't work. Not then, not for a while. Getting
it to work again is the really interesting part. I've tried tinkering with
every option on there--to no avail. Logs and all are below, so you can see
exactly what's happening--the peer doesn't respond when a LCP Conf Req is
sent out, which normally it Ack's just fine.
The funny thing that I've discovered is that it WILL work if i switch the
modem (it's external, remember, so i just move the serial cable) from the
LRP box to one of the clients, a win2k box. Once i successfully connect with
the win2k box, then move the modem back to the LRP box, it will connect just
fine.
Keep in mind that it works most of the time--but then this strange problem
manifests itself. I've included all of the relevant logs and such below:

my connect script: /etc/ppp/ppp-go

#!/bin/sh
#erols connection script
exec pppd ttyS0 115200 defaultroute user davidhoffman connect
"/usr/sbin/chat -v -T3019178111 '' AT OK ATDT3019178111 CONNECT  '\d\c'"

My /etc/ppp/options

# /etc/ppp/options
#
# $Id: options,v 1.4 1996/05/01 18:57:04 alvar Exp $
#
# Originally created by Jim Knoble <[EMAIL PROTECTED]>
# Modified for Debian by alvar Bray <[EMAIL PROTECTED]>
# Modified for PPP Server setup by Christoph Lameter <[EMAIL PROTECTED]>
#
# Use the command  egrep -v '#|^ *$' /etc/ppp/options to quickly see what
# options are active in this file.

# Specify which DNS Servers the incoming Win95 or WinNT Connection should
use
# Two Servers can be remotely configured
# ms-dns 192.168.1.1
# ms-dns 192.168.1.2

# Specify which WINS Servers the incoming connection Win95 or WinNT should
use
# ms-wins 192.168.1.50
# ms-wins 192.168.1.51

# Run the executable or shell command specified after pppd has
# terminated the link.  This script could, for example, issue commands
# to the modem to cause it to hang up if hardware modem control signals
# were not available.
#disconnect "/etc/ppp/ppp-go"

# async character map -- 32-bit hex; each bit is a character
# that needs to be escaped for pppd to receive it.  0x00000001
# represents '\x01', and 0x80000000 represents '\x1f'.
asyncmap 0

# Require the peer to authenticate itself before allowing network
# packets to be sent or received.
# Please do not disable this setting. It is expected to be standard in
# future releases of pppd. Use the call option (see manpage) to disable
# authentication for specific peers.
#auth

# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
# on the serial port.
crtscts

# Use software flow control (i.e. XON/XOFF) to control the flow of data
# on the serial port.
#xonxoff

# Specifies that certain characters should be escaped on transmission
# (regardless of whether the peer requests them to be escaped with its
# async control character map).  The characters to be escaped are
# specified as a list of hex numbers separated by commas.  Note that
# almost any character can be specified for the escape option, unlike
# the asyncmap option which only allows control characters to be
# specified.  The characters which may not be escaped are those with hex
# values 0x20 - 0x3f or 0x5e.
#escape 11,13,ff

# Don't use the modem control lines.
#local

# Specifies that pppd should use a UUCP-style lock on the serial device
# to ensure exclusive access to the device.
lock

# Use the modem control lines.  On Ultrix, this option implies hardware
# flow control, as for the crtscts option.  (This option is not fully
# implemented.)
modem

# Set the MRU [Maximum Receive Unit] value to <n> for negotiation.  pppd
# will ask the peer to send packets of no more than <n> bytes. The
# minimum MRU value is 128.  The default MRU value is 1500.  A value of
# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
# bytes of data).
#mru 542

# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
# notation (e.g. 255.255.255.0).
#netmask 255.255.255.0

# Disables the default behaviour when no local IP address is specified,
# which is to determine (if possible) the local IP address from the
# hostname. With this option, the peer will have to supply the local IP
# address during IPCP negotiation (unless it specified explicitly on the
# command line or in an options file).
noipdefault

# Enables the "passive" option in the LCP.  With this option, pppd will
# attempt to initiate a connection; if no reply is received from the
# peer, pppd will then just wait passively for a valid LCP packet from
# the peer (instead of exiting, as it does without this option).
#passive

# With this option, pppd will not transmit LCP packets to initiate a
# connection until a valid LCP packet is received from the peer (as for
# the "passive" option with old versions of pppd).
#silent

# Don't request or allow negotiation of any options for LCP and IPCP
# (use default values).
#-all

# Disable Address/Control compression negotiation (use default, i.e.
# address/control field disabled).
#-ac

# Disable asyncmap negotiation (use the default asyncmap, i.e. escape
# all control characters).
#-am

# Don't fork to become a background process (otherwise pppd will do so
# if a serial device is specified).
#-detach

# Disable IP address negotiation (with this option, the remote IP
# address must be specified with an option on the command line or in an
# options file).
#-ip

# Disable magic number negotiation.  With this option, pppd cannot
# detect a looped-back line.
#-mn

# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e.
# 1500).
#-mru

# Disable protocol field compression negotiation (use default, i.e.
# protocol field compression disabled).
#-pc

# Require the peer to authenticate itself using PAP.
#+pap

# Don't agree to authenticate using PAP.
#-pap

# Require the peer to authenticate itself using CHAP [Cryptographic
# Handshake Authentication Protocol] authentication.
#+chap

# Don't agree to authenticate using CHAP.
#-chap

# Disable negotiation of Van Jacobson style IP header compression (use
# default, i.e. no compression).
#-vj

# Increase debugging level (same as -d).  If this option is given, pppd
# will log the contents of all control packets sent or received in a
# readable form.  The packets are logged through syslog with facility
# daemon and level debug. This information can be directed to a file by
# setting up /etc/syslog.conf appropriately (see syslog.conf(5)).  (If
# pppd is compiled with extra debugging enabled, it will log messages
# using facility local2 instead of daemon).
debug

# Append the domain name <d> to the local host name for authentication
# purposes.  For example, if gethostname() returns the name porsche,
# but the fully qualified domain name is porsche.Quotron.COM, you would
# use the domain option to set the domain name to Quotron.COM.
#domain <d>

# Enable debugging code in the kernel-level PPP driver.  The argument n
# is a number which is the sum of the following values: 1 to enable
# general debug messages, 2 to request that the contents of received
# packets be printed, and 4 to request that the contents of transmitted
# packets be printed.
#kdebug n

# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
# requests a smaller value via MRU negotiation, pppd will request that
# the kernel networking code send data packets of no more than n bytes
# through the PPP network interface.
mtu 1006

# Enforce the use of the hostname as the name of the local system for
# authentication purposes (overrides the name option).
#usehostname

# Set the assumed name of the remote system for authentication purposes
# to <n>.
#remotename <n>

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system.
#proxyarp

# Use the system password database for authenticating the peer using
# PAP. Note: mgetty already provides this option. If this is specified
# then dialin from users using a script under Linux to fire up ppp wont
work.
# login

# If this option is given, pppd will send an LCP echo-request frame to
# the peer every n seconds. Under Linux, the echo-request is sent when
# no packets have been received from the peer for n seconds. Normally
# the peer should respond to the echo-request by sending an echo-reply.
# This option can be used with the lcp-echo-failure option to detect
# that the peer is no longer connected.
lcp-echo-interval 120

# If this option is given, pppd will presume the peer to be dead if n
# LCP echo-requests are sent without receiving a valid LCP echo-reply.
# If this happens, pppd will terminate the connection.  Use of this
# option requires a non-zero value for the lcp-echo-interval parameter.
# This option can be used to enable pppd to terminate after the physical
# connection has been broken (e.g., the modem has hung up) in
# situations where no hardware modem control lines are available.
lcp-echo-failure 4

# Set the LCP restart interval (retransmission timeout) to <n> seconds
# (default 3).
#lcp-restart <n>

# Set the maximum number of LCP terminate-request transmissions to <n>
# (default 3).
#lcp-max-terminate <n>

# Set the maximum number of LCP configure-request transmissions to <n>
# (default 10).
#lcp-max-configure 5

# Set the maximum number of LCP configure-NAKs returned before starting
# to send configure-Rejects instead to <n> (default 10).
#lcp-max-failure <n>

# Set the IPCP restart interval (retransmission timeout) to <n>
# seconds (default 3).
#ipcp-restart <n>

# Set the maximum number of IPCP terminate-request transmissions to <n>
# (default 3).
#ipcp-max-terminate <n>

# Set the maximum number of IPCP configure-request transmissions to <n>
# (default 10).
#ipcp-max-configure <n>

# Set the maximum number of IPCP configure-NAKs returned before starting
# to send configure-Rejects instead to <n> (default 10).
#ipcp-max-failure <n>

# Set the PAP restart interval (retransmission timeout) to <n> seconds
# (default 3).
#pap-restart <n>

# Set the maximum number of PAP authenticate-request transmissions to
# <n> (default 10).
#pap-max-authreq <n>

# Set the CHAP restart interval (retransmission timeout for
# challenges) to <n> seconds (default 3).
#chap-restart <n>

# Set the maximum number of CHAP challenge transmissions to <n>
# (default 10).
#chap-max-challenge

# If this option is given, pppd will rechallenge the peer every <n>
# seconds.
#chap-interval <n>

# With this option, pppd will accept the peer's idea of our local IP
# address, even if the local IP address was specified in an option.
ipcp-accept-local

# With this option, pppd will accept the peer's idea of its (remote) IP
# address, even if the remote IP address was specified in an option.
ipcp-accept-remote

# Disable the IPXCP and IPX protocols.
# To let pppd pass IPX packets comment this out --- you'll probably also
# want to install ipxripd, and have the Internal IPX Network option enabled
# in your kernel.  /usr/doc/HOWTO/IPX-HOWTO.gz contains more info.
noipx

#persist   disabled for troubleshooting, normally kept on
# ---<End of File>---

The logs: first, a log from a normal, successful connection:


Jul  2 23:13:07 PenguiNoise pppd[743]: pppd 2.3.5 started by root, uid 0
Jul  2 23:13:08 PenguiNoise chat[745]: send (AT^M)
Jul  2 23:13:08 PenguiNoise chat[745]: expect (OK)
Jul  2 23:13:08 PenguiNoise chat[745]: ^M
Jul  2 23:13:08 PenguiNoise chat[745]: OK
Jul  2 23:13:08 PenguiNoise chat[745]:  -- got it
Jul  2 23:13:08 PenguiNoise chat[745]: send (ATDT3015551234^M)
Jul  2 23:13:08 PenguiNoise chat[745]: expect (CONNECT)
Jul  2 23:13:08 PenguiNoise chat[745]: ^M
Jul  2 23:13:36 PenguiNoise chat[745]: ^M
Jul  2 23:13:36 PenguiNoise chat[745]: CONNECT
Jul  2 23:13:36 PenguiNoise chat[745]:  -- got it
Jul  2 23:13:36 PenguiNoise chat[745]: send (\d)
Jul  2 23:13:37 PenguiNoise pppd[743]: Serial connection established.
Jul  2 23:13:38 PenguiNoise pppd[743]: Using interface ppp0
Jul  2 23:13:38 PenguiNoise pppd[743]: Connect: ppp0 <--> /dev/ttyS0
Jul  2 23:13:38 PenguiNoise pppd[743]: sent [LCP ConfReq id=0x1 <asyncmap
0x0> <magic 0xb10c30d> <pcomp> <accomp>]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [LCP ConfReq id=0x1 < 00 04 00
00> <mru 1524> <asyncmap 0x0> <auth pap> <pcomp> <accomp> < 11 04 05 f4> <
13 11 01 6c 6e 68 2e 6d 64 2e 72 63 6e 2e 6e 65 74>]
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [LCP ConfRej id=0x1 < 00 04 00
00> < 11 04 05 f4> < 13 11 01 6c 6e 68 2e 6d 64 2e 72 63 6e 2e 6e 65 74>]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [LCP ConfAck id=0x1 <asyncmap
0x0> <magic 0xb10c30d> <pcomp> <accomp>]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [LCP ConfReq id=0x2 <mru 1524>
<asyncmap 0x0> <auth pap> <pcomp> <accomp>]
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [LCP ConfAck id=0x2 <mru 1524>
<asyncmap 0x0> <auth pap> <pcomp> <accomp>]
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [LCP EchoReq id=0x0
magic=0xb10c30d]
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [PAP AuthReq id=0x1
user="*******" password="******"]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [LCP EchoRep id=0x0 magic=0x0]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [PAP AuthAck id=0x1 ""]
Jul  2 23:13:39 PenguiNoise pppd[743]: Remote message:
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [IPCP ConfReq id=0x1 <addr
0.0.0.0> <compress VJ 0f 01>]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [IPCP ConfReq id=0x1 <compress
VJ 0f 01> <addr 208.59.89.xxx>]
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [IPCP ConfAck id=0x1 <compress
VJ 0f 01> <addr 208.59.89.xxx>]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [CCP ConfReq id=0x1 < 11 06 00
01 01 03>]
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [CCP ConfReq id=0x1]
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [CCP ConfRej id=0x1 < 11 06 00
01 01 03>]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [IPCP ConfNak id=0x1 <addr
66.44.12.xxx>]
Jul  2 23:13:39 PenguiNoise pppd[743]: sent [IPCP ConfReq id=0x2 <addr
66.44.12.xxx> <compress VJ 0f 01>]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [CCP ConfRej id=0x1]
Jul  2 23:13:39 PenguiNoise pppd[743]: rcvd [IPCP ConfAck id=0x2 <addr
66.44.12.xxx> <compress VJ 0f 01>]
Jul  2 23:13:39 PenguiNoise pppd[743]: local  IP address 66.44.12.xxx
Jul  2 23:13:39 PenguiNoise pppd[743]: remote IP address 208.59.89.xxx

Then, from a connection that didn't work:

Jul  2 22:41:49 PenguiNoise pppd[527]: pppd 2.3.5 started by root, uid 0
Jul  2 22:41:50 PenguiNoise chat[529]: send (AT^M)
Jul  2 22:41:50 PenguiNoise chat[529]: expect (OK)
Jul  2 22:41:51 PenguiNoise chat[529]: AT^M^M
Jul  2 22:41:51 PenguiNoise chat[529]: OK
Jul  2 22:41:51 PenguiNoise chat[529]:  -- got it
Jul  2 22:41:51 PenguiNoise chat[529]: send (ATDT3015554321^M)
Jul  2 22:41:51 PenguiNoise chat[529]: expect (CONNECT)
Jul  2 22:41:51 PenguiNoise chat[529]: ^M
Jul  2 22:42:22 PenguiNoise chat[529]: ATDT3015551245^M^M
Jul  2 22:42:22 PenguiNoise chat[529]: CONNECT
Jul  2 22:42:22 PenguiNoise chat[529]:  -- got it
Jul  2 22:42:22 PenguiNoise chat[529]: send (\d)
Jul  2 22:42:23 PenguiNoise pppd[527]: Serial connection established.
Jul  2 22:42:24 PenguiNoise pppd[527]: Using interface ppp0
Jul  2 22:42:24 PenguiNoise pppd[527]: Connect: ppp0 <--> /dev/ttyS0
Jul  2 22:42:24 PenguiNoise pppd[527]: sent [LCP ConfReq id=0x1 <asyncmap
0x0> <magic 0xd0bbb6c6> <pcomp> <accomp>]
Jul  2 22:42:36 PenguiNoise last message repeated 4 times
Jul  2 22:42:39 PenguiNoise pppd[527]: LCP: timeout sending Config-Requests
Jul  2 22:42:39 PenguiNoise pppd[527]: Connection terminated.
Jul  2 22:42:39 PenguiNoise pppd[527]: Hangup (SIGHUP)
Jul  2 22:42:39 PenguiNoise pppd[527]: Terminating on signal 15.
Jul  2 22:42:39 PenguiNoise pppd[527]: Exit.


So, you can see that I'm in a bit of a quandry about what to do to get this
working 100% so I don't have to mess with it every day just to get it to
work. Somehow, it's just not responding to those LCP-Conf-Req's every now
and then. The ISP, Erols/Starpower, has some information here:
http://www.starpower.net/support/linux/faq/
But I couldn't get their scripts to even connect. At least mine does that.
8=)

Any and all help would be much appreciated!

(looks like some of the long log lines got wrapped...)
--
__
Daniel Hoffman ([EMAIL PROTECTED])
"You can't be lonely if you like the person you're alone with.  "
"Time is that quality of nature which keeps events from happening all at
once.  Lately it doesn't seem to be working."
�2001




__
Daniel Hoffman ([EMAIL PROTECTED])
"The Web site you seek cannot be located. But endless others exist."
"Time is that quality of nature which keeps events from happening all at
once.  Lately it doesn't seem to be working."
�2001



_______________________________________________
Leaf-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/leaf-user

Reply via email to