Modem won't connect at full speed

Lars Eighner eighner at io.com
Tue Aug 19 19:16:54 PDT 2003


This has been answered by somebody on some forum, but I lost it.

I have an internal hardware modem.  I have configured ppp on demand.
Unfortunately, my 56k modem connects at an effective rate of about
14.4k when I use ppp under FreeBSD.  I have got normal connect speeds
with the same modem and the same ISP using Linux in the past.

Here is my ppp.log.  Notice the CCP rejection line, which I
guess is pertinent:

Aug 19 20:02:59 pearl ppp[190]: tun0: Phase: bundle: Establish
Aug 19 20:02:59 pearl ppp[190]: tun0: Phase: deflink: closed -> opening
Aug 19 20:02:59 pearl ppp[190]: tun0: Phase: deflink: Connected!
Aug 19 20:02:59 pearl ppp[190]: tun0: Phase: deflink: opening -> dial
Aug 19 20:02:59 pearl ppp[190]: tun0: Chat: Phone: 4857440
Aug 19 20:02:59 pearl ppp[190]: tun0: Chat: deflink: Dial attempt 1 of 1
Aug 19 20:02:59 pearl ppp[190]: tun0: Chat: Send: ATZ^M
Aug 19 20:02:59 pearl ppp[190]: tun0: Chat: Expect(5): OK
Aug 19 20:02:59 pearl ppp[190]: tun0: Chat: Received: ATDT4857440^MATZ^M^M
Aug 19 20:02:59 pearl ppp[190]: tun0: Chat: Received: OK
Aug 19 20:02:59 pearl ppp[190]: tun0: Chat: Send: ATDT4857440^M
Aug 19 20:03:01 pearl ppp[190]: tun0: Chat: Expect(40): CONNECT
Aug 19 20:03:01 pearl ppp[190]: tun0: Chat: Received: ^M
Aug 19 20:03:18 pearl ppp[190]: tun0: Chat: Received: ATDT4857440^M^M
Aug 19 20:03:18 pearl ppp[190]: tun0: Chat: Received: CONNECT
Aug 19 20:03:18 pearl ppp[190]: tun0: Phase: deflink: dial -> carrier
Aug 19 20:03:19 pearl ppp[190]: tun0: Phase: deflink: /dev/cuaa4: CD detected
Aug 19 20:03:19 pearl ppp[190]: tun0: Phase: deflink: carrier -> login
Aug 19 20:03:19 pearl ppp[190]: tun0: Phase: deflink: login -> lcp
Aug 19 20:03:19 pearl ppp[190]: tun0: LCP: FSM: Using "deflink" as a transport
Aug 19 20:03:19 pearl ppp[190]: tun0: LCP: deflink: State change Initial --> Cl
osed
Aug 19 20:03:19 pearl ppp[190]: tun0: LCP: deflink: State change Closed --> Sto
pped
Aug 19 20:03:20 pearl ppp[190]: tun0: LCP: deflink: LayerStart
Aug 19 20:03:20 pearl ppp[190]: tun0: LCP: deflink: SendConfigReq(21) state = S
topped
Aug 19 20:03:20 pearl ppp[190]: tun0: LCP:  ACFCOMP[2]
Aug 19 20:03:20 pearl ppp[190]: tun0: LCP:  PROTOCOMP[2]
Aug 19 20:03:20 pearl ppp[190]: tun0: LCP:  ACCMAP[6] 0x00000000
Aug 19 20:03:20 pearl ppp[190]: tun0: LCP:  MRU[4] 1500
Aug 19 20:03:20 pearl ppp[190]: tun0: LCP:  MAGICNUM[6] 0x8a1b2b38
Aug 19 20:03:20 pearl ppp[190]: tun0: LCP: deflink: State change Stopped --> Re
q-Sent
Aug 19 20:03:21 pearl ppp[190]: tun0: LCP: deflink: RecvConfigAck(21) state = R
eq-Sent
Aug 19 20:03:21 pearl ppp[190]: tun0: LCP:  ACFCOMP[2]
Aug 19 20:03:21 pearl ppp[190]: tun0: LCP:  PROTOCOMP[2]
Aug 19 20:03:21 pearl ppp[190]: tun0: LCP:  ACCMAP[6] 0x00000000
Aug 19 20:03:21 pearl ppp[190]: tun0: LCP:  MRU[4] 1500
Aug 19 20:03:21 pearl ppp[190]: tun0: LCP:  MAGICNUM[6] 0x8a1b2b38
Aug 19 20:03:21 pearl ppp[190]: tun0: LCP: deflink: State change Req-Sent --> A
ck-Rcvd
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP: deflink: RecvConfigReq(186) state =
Ack-Rcvd
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  ACCMAP[6] 0x000a0000
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  AUTHPROTO[4] 0xc023 (PAP)
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  MAGICNUM[6] 0x3f80618e
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  PROTOCOMP[2]
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  ACFCOMP[2]
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP: deflink: SendConfigAck(186) state =
Ack-Rcvd
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  ACCMAP[6] 0x000a0000
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  AUTHPROTO[4] 0xc023 (PAP)
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  MAGICNUM[6] 0x3f80618e
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  PROTOCOMP[2]
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP:  ACFCOMP[2]
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP: deflink: State change Ack-Rcvd --> O
pened
Aug 19 20:03:35 pearl ppp[190]: tun0: LCP: deflink: LayerUp
Aug 19 20:03:35 pearl ppp[190]: tun0: Phase: bundle: Authenticate
Aug 19 20:03:35 pearl ppp[190]: tun0: Phase: deflink: his = PAP, mine = none
Aug 19 20:03:35 pearl ppp[190]: tun0: Phase: Pap Output: eighner ********
Aug 19 20:03:36 pearl ppp[190]: tun0: Phase: Pap Input: SUCCESS ()
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: Using trigger address 0.0.0.0
Aug 19 20:03:36 pearl ppp[190]: tun0: Phase: deflink: lcp -> open
Aug 19 20:03:36 pearl ppp[190]: tun0: Phase: bundle: Network
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: FSM: Using "deflink" as a transport

Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: State change Initial --> C
losed
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: LayerStart.
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: SendConfigReq(31) state =
Closed
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  IPADDR[6] 0.0.0.0
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  COMPPROTO[6] 16 VJ slots with slot
 compression
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  PRIDNS[6] 199.170.88.29
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  SECDNS[6] 199.170.88.10
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: State change Closed --> Re
q-Sent
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: RecvConfigReq(150) state =
 Req-Sent
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  COMPPROTO[6] 16 VJ slots without s
lot compression
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  IPADDR[6] 206.224.86.3
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: SendConfigAck(150) state =
 Req-Sent
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  COMPPROTO[6] 16 VJ slots without s
lot compression
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  IPADDR[6] 206.224.86.3
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: State change Req-Sent -->
Ack-Sent
Aug 19 20:03:36 pearl ppp[190]: tun0: LCP: deflink: RecvProtocolRej(187) state
= Opened
Aug 19 20:03:36 pearl ppp[190]: tun0: LCP: deflink: -- Protocol 0x80fd (Compres
sion Control Protocol) was rejected!
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: RecvConfigNak(31) state =
Ack-Sent
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  IPADDR[6] 199.170.90.42
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  IPADDR[6] changing address: 0.0.0.
0  --> 199.170.90.42
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: SendConfigReq(32) state =
Ack-Sent
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  IPADDR[6] 199.170.90.42
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  COMPPROTO[6] 16 VJ slots with slot
 compression
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  PRIDNS[6] 199.170.88.29
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  SECDNS[6] 199.170.88.10
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: RecvConfigAck(32) state =
Ack-Sent
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  IPADDR[6] 199.170.90.42
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  COMPPROTO[6] 16 VJ slots with slot
 compression
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  PRIDNS[6] 199.170.88.29
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP:  SECDNS[6] 199.170.88.10
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: State change Ack-Sent -->
Opened
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: deflink: LayerUp.
Aug 19 20:03:36 pearl ppp[190]: tun0: IPCP: myaddr 199.170.90.42 hisaddr = 206.
224.86.3
Aug 19 20:04:37 pearl ppp[190]: tun0: Phase: deflink: HDLC errors -> FCS: 2, AD
DR: 0, COMD: 0, PROTO: 0

Here is my ppp.conf file (from /etc/ppp/) (password starred out)

#################################################################
#
#              PPP  Sample Configuration File
#
#           Originally written by Toshiharu OHNO
#
# $FreeBSD: src/share/examples/ppp/ppp.conf.sample,v 1.30 2002/01/10 14:56:47 brian Exp $
#
#################################################################

# This file is separated into sections.  Each section is named with
# a label starting in column 0 and followed directly by a ``:''.  The
# section continues until the next label.  Blank lines and characters
# after a ``#'' are ignored (a literal ``#'' must be escaped with a ``\''
# or quoted with "").  All commands inside sections that do not begin
# with ``!'' (e.g., ``!include'') *must* be indented by at least one
# space or tab or they will not be recognized!
#
# Lines beginning with "!include" will ``include'' another file.  You
# may want to ``!include ~/.ppp.conf'' for backwards compatibility.
#

# Default setup. Always executed when PPP is invoked.
#  This section is *not* pre-loaded by the ``load'' or ``dial'' commands.
#
#  This is the best place to specify your modem device, its DTR rate,
#  your dial script and any logging specification.  Logging specs should
#  be done first so that the results of subsequent commands are logged.
#
default:
 set crtscts on
 set log Phase Chat LCP IPCP tun command
 allow users *
 set device /dev/cuaa4
 set speed 57600
 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATZ \
           OK \\dATDT\\T TIMEOUT 40 CONNECT"

# Client side PPP
#
#  Although the PPP protocol is a peer to peer protocol, we normally
#  consider the side that initiates the connection as the client and
#  the side that receives the connection as the server.  Authentication
#  is required by the server either using a unix-style login procedure
#  or by demanding PAP or CHAP authentication from the client.
#

# An on demand example where we have dynamic IP addresses and wish to
# use a unix-style login script:
#
#  If the peer assigns us an arbitrary IP (most ISPs do this) and we
#  can't predict what their IP will be either, take a wild guess at
#  some IPs that you can't currently route to.  Ppp can change this
#  when the link comes up.
#
#  The /0 bit in "set ifaddr" says that we insist on 0 bits of the
#  specified IP actually being correct, therefore, the other side can assign
#  any IP number.
#
#  The fourth arg to "set ifaddr" makes us send "0.0.0.0" as our requested
#  IP number, forcing the peer to make the decision.  This is necessary
#  when negotiating with some (broken) ppp implementations.
#
#  This entry also works with static IP numbers or when not in -auto mode.
#  The ``add'' line adds a `sticky' default route that will be updated if
#  and when any of the IP numbers are changed in IPCP negotiations.
#  The "set ifaddr" is required in -auto mode only.
#  It's better to put the ``add'' line in ppp.linkup when not in -auto mode.
#
#  Finally, the ``enable dns'' line tells ppp to ask the peer for the
#  nameserver addresses that should be used.  This isn't always supported
#  by the other side, but if it is, ppp will update /etc/resolv.conf with
#  the correct nameserver values at connection time.
#
#  The login script shown says that you're expecting ``ogin:''.  If you
#  don't receive that, send a ``\n'' and expect ``ogin:'' again.  When
#  it's received, send ``ppp'', expect ``word:'' then send ``ppp''.
#  You *MUST* customise this login script according to your local
#  requirements.
#
pmdemand:
 set phone 4857440
 set login "ABORT NO\\sCARRIER TIMEOUT 5 sername:--sername: eighner assword: ****** :--: P"
 set timeout 300
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add default HISADDR
 enable dns

# If you want to use PAP or CHAP instead of using a unix-style login
# procedure, do the following.  Note, the peer suggests whether we
# should send PAP or CHAP.  By default, we send whatever we're asked for.
#
# You *MUST* customise ``MyName'' and ``MyKey'' below.
#
PAPorCHAPpmdemand:
 set phone 4857440
 set login
 set authname eighner
 set authkey ******
 set timeout 300
 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add default HISADDR
 enable dns



I use the PAPorCHAPpmdemand for tun0.

Here are my modem hardware setting (with explanations in square
brackets):

ati4		[Current Settings]
U.S. Robotics 56K Voice INT Settings...

   B0  E1  F1  L1  M0  Q0  V1  X4  Y0
[Bn   *n=0  V32 Mode/CCITT Answer Seq
       n=1  Bell Answer Seq
 En    n=0  No Command Echo
      *n=1  Echo Command Chars
 Fn    n=0  Online Echo
      *n=1  No Online Echo
 Ln    n=0  Low Speaker Volume
      *n=1  Low Speaker Volume
       n=2  Med Speaker Volume
       n=3  Hi Speaker Volume
 Mn   *n=0  Speaker OFF
       n=1  Speaker ON Until CD
       n=2  Speaker Always ON
       n=3  Speaker OFF During Dial
 Qn   *n=0  Result Codes Sent
       n=1  Quiet (No Result Codes)
 Vn    n=0  Numeric Responses
      *n=1  Verbal Responses
 Xn    n=0  Basic Result Codes
       n=1  Extended Result Codes
      *n=2-4  Advanced Result Codes
 Yn   *n=0  Next Reset to &W0 settings
       n=1  Next Reset to &W1 settings
       n=2  Next Reset to &F0 settings     [Factory Hardware Control Settings]
       n=3  Next Reset to &F1 settings     [Factory Software Control Settings]
       n=4  Next Reset to &F2 settings     [User Settings]
]

   BAUD=9600  PARITY=N  WORDLEN=8
   DIAL=TONE    ON HOOK   CID=0

   &A3  &B1  &C1  &D2  &G0  &H1  &I0  &K1
[&An   n=0  Disable /ARQ Result Codes
       n=1  Enable /ARQ Result Codes
       n=2  Enable /Modulation Codes
      *n=3  Enable /Extra Result Codes
 &Bn   n=0  Floating DTE Speed
      *n=1  Fixed DTE Speed
       n=2  DTE Speed Fixed When ARQ
 &Cn   n=0  CD Always ON
      *n=1  Modem Controls CD
 &Gn  *n=0  No Guard Tone
       n=1  550 Hz Guard Tone
       n=2  1800 Hz Guard Tone
 &Hn   n=0  Disable TX Flow Control
      *n=1  CTS
       n=2  Xon/Xoff
       n=3  CTS and Xon/Xoff
 &In  *n=0  Disable RX Flow Control
       n=1  Xon/Xoff
       n=2  Xon/Xoff Chars Filtered
       n=3  HP Enq/Ack Host Mode
       n=4  HP Enq/Ack Terminal Mode
       n=5  Xon/Xoff for non-ARQ Mode
 &Kn   n=0  Disable Data Compression
      *n=1  Auto Data Compression
       n=2  Enable Data Compression
       n=3  Selective Data Compression
]

   &M4  &N0  &P0  &R2  &S0  &T5  &U0  &Y1
[&Mn   n=0  Normal Mode
      *n=4  ARQ/Normal Mode
       n=5  ARQ Mode
 &Nn  *n=0  Highest Link Speed
       n=1  300 bps
       n=2  1200 bps
		etc.
 &Pn  *n=0  N.American Pulse Dial
       n=1  UK Pulse Dial
 &Rn   n=1  Ignore RTS
      *n=2  RX to DTE/RTS high
 &Sn  *n=0  DSR Always ON
       n=1  Modem Controls DSR
       n=2  DTE Speed Fixed When ARQ
 &Tn   n=0  End Test
       n=1  Analog Loopback (ALB)
       n=3  Digital Loopback (DLB)
       n=4  Grant Remote DLB
      *n=5  Deny Remote DLB
       n=6  Remote Digital Loopback
       n=7  Remote DLB With Self Test
       n=8  ALB With Self Test
 &Un  *n=0  Variable link rate floor.
       n=1  Minimum link rate 300 bps
       n=2  Minimum link rate 1200 bps
		etc.
 &Yn   n=0  Destructive
      *n=1  Destructive/Expedited
       n=2  Nondest./Expedited
       n=3  Nondest./Unexpedited
]

   S00=000  S01=000  S02=043  S03=013  S04=010  S05=008  S06=002
[S0  Ring to Answer ON
 S1  Counts # of Rings
 S2  Escape Code Char
 S3  Carriage Return Char
 S4  Line Feed Char
 S5  Backspace Char
 S6  Wait Time/Dial Tone (sec)
]

   S07=045  S08=002  S09=006  S10=014  S11=070  S12=050  S13=000
[S7  Wait Time/Carrier (sec)
 S8  Comma Time (sec)
 S9  Carrier Detect Time (1/10sec)
 S10 Carrier Loss Time (1/10sec)
 S11 Dial Tone Spacing (msec)
 S12 Escape Code Time (1/50sec)
 S13 Bit Mapped
      1 = Reset ON DTR Loss
      2 = Reduced Non-ARQ TX Buffer
      4 = Set DEL=Backspace
      8 = Do DS0 ON DTR
     16 = Do DS0 ON Reset
     32 = Reserved
     64 = Disable Quick Retrains
    128 = Escape Code Hang Up
]

   S15=000  S16=000  S18=000  S19=000  S21=010  S22=017  S23=019
[S15 Bit Mapped
      1 = MNP/V.42 Disabled in V.22
      2 = MNP/V.42 Disabled in V.22bis
      8 = Disable MNP Handshake
     16 = Disable MNP Level 4
     32 = Disable MNP Level 3
     64 = Unusual MNP-Incompatibility
    128 = Disable V.42
    136 = Disable V.42 Detect Phase
 S16 Test Modes
      1 = Reserved
      2 = Dial Test
      4 = Reserved
		etc.
 S18 &Tn Test Timeout (sec)
 S19 Inactivity Timeout (min)
 S21 Break Length (1/100sec)
 S22 Xon Char
 S23 Xoff Char
]

   S25=005  S27=000  S28=008  S29=020  S30=000  S31=128  S32=002
[S25 DTR Recognition Time (1/100sec)
 S27 Bit Mapped
      1 = V21 Mode
      2 = Disable TCM
      4 = Disable V32
      8 = Disable 2100hz
     16 = Enable V23 Fallback
     32 = Disable V32bis
     64 = Reserved
    128 = Software Compatibility Mode
 S28 V32 Handshake Time (1/10sec)
 S29 V.21 answer mode fallback timer
 S30 Reserved
 S31 Reserved
 S32 Connection bit mapped operations.
       1 = V.8 Call Indicate enable
      *2 = Enable V.8 mode
       4 = Reserved
       8 = Disable V.34 modulation
      16 = Disable V.34+ modulation
      32 = Disable x2 modulation
      64 = Disable V.90 modulation
     128 = Reserved
]
   S33=000  S34=000  S35=000  S36=014  S38=000  S39=000  S40=001
[S33 V.34 & V.34+ Connection setup
   bit mapped control flags.
        1 = Disable 2400 Symbol rate
        2 = Disable 2743 Symbol rate
        4 = Disable 2800 Symbol rate
       16 = Disable 3200 Symbol rate
       32 = Disable 3429 Symbol rate
       64 = Reserved
      128 = Disable Shaping
 S34 V.34 & V.34+ Connection setup
   bit mapped control flags.
        1 = Disable 8S-2D trellis encoding
        2 = Disable 16S-4D trellis encoding
        4 = Disable 32S-2D trellis encoding
        8 = Disable 64S-4D trellis encoding
       16 = Disable Non linear coding
       32 = Disable TX level deviation
       64 = Disable Pre-emphasis
      128 = Disable Pre-coding
 S35 Reserved
 S36 Reserved
 S38 Disconnect Wait Time (sec)
 S39 Reserved
 S40 Reserved
 ]
  S41=000  S42=000
[S41 Distinctive Ring options
      1 = Distinctive Ring Enabled
      2 = Reserved
         etc.
 S42 Reserved
]
   LAST DIALED #: T4857440


My ISP uses RedHat and does not support FreeBSD, but as I have said,
I have connected at the proper speed using Linux with the same modem.

Any help would be appreciated.


-- 
Lars Eighner
eighner at io.com -finger for geek code-
http://www.io.com/~eighner/index.html
8800 N IH35 APT 1191 AUSTIN tx 78753-5266



More information about the freebsd-hackers mailing list