Solstice PPP 3.0.1 Administration Guide

Chapter 6 Troubleshooting and Diagnostics

This chapter tells you how to detect and resolve problems with Solstice PPP. It includes a description of how PPP links operate, instructions on how to use ppptrace and pppstat to examine the frame traffic across the PPP link, and a description of the error and status messages logged in the file /var/opt/SUNWconn/ppp.log

First Steps in Troubleshooting

If you cannot establish an IP connection across a Solstice PPP link, first check the following:

  1. Check the physical connections between your machine and the synchronous device or modem. If you are using a modem, check that the modem is switched on and configured correctly.

  2. Check that Solstice PPP is configured and running on your machine, by typing:


    prompt% ps -ef | grep ppp
    root pid timestamp 0:00 /usr/sbin/pppd -d 1
    root pid timestamp 0:00 /usr/sbin/pppd -d 1

    You should see the processes associated with the PPP link manager running on your machine.

  3. Check that the IP interfaces for Solstice PPP are configured, by typing:


    prompt# ifconfig -a
    lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
    	inet 127.0.0.1 netmask ff000000
    le0: flags=863<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
    	inet 129.x.x.117 netmask ffffff00 broadcast 129.x.x.255
    	ether 8:0:20:10:c2:b1
    ipdptp0: flags=8d0<POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
    	inet 129.x.x.117 --> 129.x.x.253 netmask ffffff00
    	ether 0:0:0:0:0:0
    ipdptp1: flags=28d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>
    	inet 129.x.x.117 --> 129.x.x.38 netmask ffffff00
    	ether 0:0:0:0:0:0 

    In this example, ipdptp0 is configured but is not up; ipdptp1 is both configured and up.

  4. Check for error and status messages in the Solstice PPP log file (/var/opt/SUNWconn/ppp.log), by typing:


    prompt# tail -f /var/opt/SUNWconn/ppp.log
    05/31/95 22:52:48 - Link manager (17302) has started 05/31/95
    05/31/95 22:52:48 - Successful configuration
    05/31/95 22:54:49 - Solstice PPP 3.0 has found a valid license
    05/31/95 22:55:02 - Connection requested to remote_host
    05/31/95 22:55:03 - Dialing number 389 ...
    05/31/95 22:55:21 - Got modem connection
    05/31/95 22:56:02 - fail at line 12 in chat script chat_script
    

    In this example, an outgoing call has been detected, but the login sequence to the remote host failed. The error occurred at line 12 of the chat script that defines the login dialog with the remote host.

Solving Common Problems

The following sections describe common problems you may encounter when installing, configuring, or using Solstice PPP.

Problems Installing Solstice PPP

Problem:

Cannot start pkgadd(1M).

Solution:

You must log in as root or become superuser before you can run the pkgadd.

Problem:

Cannot find the packages for Solstice PPP.

Solution:

Check that you typed the source directory correctly. If the Volume Manager (vold) is running on your machine, the Solstice PPP packages are located in /cdrom/ppp_3.0. If you are not running the Volume Manager (vold) on your machine, you need to mount the CD-ROM manually. See Solstice PPP 3.0.1 Installation Guide and Release Notes for detailed instructions.

Problems with Licensing

Problem:

Cannot start the lit. Command fails with error message: permission denied.

Solution:

You must log in as root or become superuser before you can start the lit.

Problem:

Cannot start the lit. Command fails with error message: Cannot open connection to window server.

Solution:

You must enable root access to your Xserver.


prompt% $OPENWINHOME/bin/xhost + root@local_host

Problem:

The Select Product pull-down menu does not show a license for Solstice PPP.

Solution:

Each time you install the lit package (SUNWlit) associated with a product, it overwrites any previously installed version. If you are installing several licensed products you should either ensure that you install each license before installing the next product, or you should backup the license file LIC_CONFIG_FILE.combined to safeguard the product-specific information it contains.

Problem:

The Server Options button is disabled (grayed out).

Solution:

You cannot change the license server configuration once you have installed a license server on your machine. The Server Options button is disabled and the name and hostid of the current server(s) are displayed.

Problem:

Cannot start Solstice PPP. Command fails with error: Cannot find license file

Solution:

You must install a license server and run the license installation script (LIC_CONFIG_SCRIPT) on each machine running Solstice PPP.

Problem:

Cannot start SunLink PPP. Command fails with error: Feature has expired

Solution:

Indicates that the license for Solstice PPP has expired. If the license obtained was for a demonstration copy, it is no longer valid. You must purchase a new license and obtain a new license password from the license distribution center.

Problem:

Cannot start Solstice PPP. Command fails with error: Encryption code in license file is inconsistent

Solution:

Any incorrect or missing license information (for example, number of RTUs, license password, expiration date) will disable your license when SunLink PPP attempts to establish a session. Restart the lit and re-enter the license information correctly.

Problem:

Cannot start Solstice PPP. Command fails with error: Cannot connect to licence server

Solution:

This indicates a severe problem with the license server. Check that the licence server machine is up and that the license daemon lmgrd.ste is running.

Try restarting the license daemon:


prompt# /etc/rc2.d/S85lmgrd start

Problem:

Cannot start Solstice PPP following a system crash. Right to Use license is reported to be in use.

Solution:

If the system crashes while a licensed product is in use, the license may not be released correctly.

To check the current status of a license server:


prompt# cd /etc/opt/licenses
prompt# ./lmstat -c licenses_combined
lmstat - Copyright (C) 1993 Globetrotter Software Inc
Flexible License Manager status on datestamp

License server status:

	hostname: license server UP (MASTER)

Vendor daemon status:

	lic.SUNW (version): UP

Feature usage info:

	Users of PPP: (Total of <rtu> licenses available)

To recover a lost license for SunLink PPP:


prompt# cd /etc/opt/licenses
prompt# ./lmremove -c licenses_combined -v PPP

Problems Configuring Solstice PPP

Problem:

Cannot configure modem using pppinit or pppsetmod. Operation fails with the error message:


"Warning: unable to set server mode on dialup_device pppdevn for modem_name"

Solution:

You have selected a modem configuration that does not correspond to the modem connected to your machine. Select another modem from the modem database, or add a new modem configuration to the database, based on the information contained in the manufacturer's documentation for your modem. See "Editing the Modem Database File (modems)"for help.

Problems Using Solstice PPP

Problem:

Solstice PPP stops working after upgrading to Solaris 2.5.

Solution:

Solaris 2.5 creates a default file /etc/ttydefs, which overwrites some changes made by Solstice PPP. Safeguard the configuration files ppp.conf, ppp.link, and the CHAT scripts. Reinstall Solstice PPP to correct the problem.

Problem:

Cannot establish PPP link. Operation fails with the status message:


"PPP error on ip_interface: Maximum number of   configure requests exceeded" 

Solution:

PPP Configure-request frames are generated to start the link establishment phase. After a certain number of frames (defined by the keyword lcp_max_restart) are generated without a valid response, the connection initiator assumes that the remote host is unreachable. This may indicate one of the following:

Problem:

Cannot establish PPP link. Operation fails with the status message: "Authentication failed"

Solution:

The peer authentication phase failed. Check that the PAP and CHAP parameters set on the two hosts are coherent. If one host requests authentication using either PAP or CHAP, the other host must participate in the authentication phase, or the link is closed.

Problem:

Cannot establish PPP link. Operation fails with the status message: "Loop back detected"

Solution:

The PPP frames generated by the local host are being reflected by the remote host. The magic numbers contained in the PPP frames indicate a loop back condition. This may indicate one of the following:

Problem:

Modem dials unexpectedly, or when the machine is rebooted.

Solution:

The IP interfaces associated with asynchronous PPP links are usually marked up, by default. In this way, the PPP link manager initiates the PPP link automatically, when an IP datagram is passed to the interface by the IP layer.

Some applications and processes broadcast requests occasionally. For example, when searching for a license daemon, or when the machine is rebooted. The PPP link manager responds to the broadcast and tries to dial the remote host.

To prevent this behavior, mark the relevant IP interface down, and use pppconn(1M) to initiate connections as required. See "Establishing PPP Links" for detailed instructions.

Problem:

IP datagrams are not routed correctly across a synchronous PPP link used to connect to local area networks (LANs).

Solution:

The two hosts at the endpoints of the PPP link act as IP routers in this configuration. Ensure that the file /etc/gateways exists on each host.

Problem:

LCP negotiation fails with the error message: "PPP error on ipdptp1: Negotiation of mandatory options failed"

Solution:

Check that the IP interface used to initiate the connection, and the IP interface associated with the dialup path used to accept the connection have coherent IP addresses. The source address on host must match the destination address on the other.

Problem:

Cannot make rsh(1) or rlogin(1) connection to the remote host. Operation fails with the message "Permission denied"

Solution:

Check for the hostname, or IP address, of your local host in the files /etc/.rhosts and /etc/hosts.equiv on the remote host. A + character in these files enables access for all hosts.

Checking the Physical Layer for Synchronous Links

There are four standard utilities, delivered either as part of the Solaris environment or in conjunction with the driver for the high-speed serial interface (hsi), that are used to test the serial devices used for synchronous links:


Caution - Caution -

Do not run syncloop or hsi_loop on a interfaces that are in use.Interfaces are in loopback mode while the tests are running, and cannot communicate with remote hosts.


There are four test options associated with syncloop and hsi_loop. Table 6-1 lists the equipment you require to run the different the test options.

Table 6-1 Equipment for syncloop and hsi_loop Test Options

Test Options 

Equipment 

Option 1 

None 

Option 2  

Loopback plug 

Option 3  

Modem(s) 

Option 4 

Previous setup 

Using ppptrace

The ppptrace command traces the PPP frames as they are sent and received across the network. This information is the primary tool used to detect problems at the PPP link level.

See Appendix A, PPP Link Operation" for a detailed description of the various PPP frames and their significance.

The ppptrace command has the following general form:


prompt# ppptrace [--x] [ppp_link_name]

To interpret the output from ppptrace completely, you need to be familiar with the operation of the Point-to-Point Protocol and the format of the various PPP frames. See Appendix A, PPP Link Operation for more information.

Tracing PPP Frames

When the ppptrace command is executed without arguments it displays a trace of all the active PPP links. You can restrict the trace by specifying an IP interface, or the link name you assigned to the link using the ppp_link_name parameter in the file ppp.conf.

To display a trace of the link associated with the IP interface ipdptp0, type:


prompt# ppptrace ipdptp0

To display a trace of the link associated with the link name ppplink0, type:


prompt# ppptrace ppplink0

The basic output from a typical ppptrace has the following components:


timestamp: link_id type: description [id: xx] [length: yyyy]

timestamp

The time at which the trace was recorded.

link_id

Identifies the link from which the trace was recorded. This may be an IP interface name (ipdptpn or ipdn) or a link name assigned using the ppp_link_name parameter in the file ppp.conf.

type

Identifies the source of the frame, which may be either sent by the local host (outgoing), or received from the remote host (incoming).

description

Describes the PPP frame type. See Appendix A, PPP Link Operation for more information.

id: xx

The contents of the id field of the PPP frame, which carries an identifier that is used to match associated requests and replies. See Appendix A, PPP Link Operation for more information.

length: yyyy

The contents of the length field of the PPP frame, which carries the total length of the information field. The length must be less than the maximum receive unit (MRU). See Appendix A, PPP Link Operation for more information.

For example, the following trace shows an LCP Configure-request packet sent by the local host. The basic trace is followed by information that describes the frame in more detail, including the magic number, which identifies the initial source of the frame and is used to detect looped back conditions. See Appendix A, PPP Link Operation for more information.


18:10:32: ipdptp0 Send: LCP Packet Config Request  [id: 15]
[length: 0012]
          Maximun Receive unit: 1500
          Magic Number: 4e0d20fb
          Protocol Field Compression
          Address and Control Field Compression 

Displaying PPP Frame Contents

Executing the ppptrace command with the -x option dumps the contents of the PPP frames to display the hexadecimal codes.

To dump the contents of the PPP frames, type:


prompt# ppptrace -x
18:38:37: ipdptp0 Send: Internet Protocol Packet

21 45 00 00 54 86 e1 40 00 ff 01 58 9d 81 9d cc  "!E..T..@...X...."
3d 81 9d cc b1 08 00 f9 4c 02 51 00 00 2f ba 26  "=.......L.Q../.&"
8d 00 01 bb 16 08 09 0a 0b 0c 0d 0e 0f 10 11 12  "................"
13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22  "..............!""
23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32  "#$%&'()*+,-./012"
33 34 35 36 37                                   "34567           "

The 21 at the beginning of the packet in this example indicates that it is an IP packet.

PPP Trace Examples

The following examples show how ppptrace can be used to detect and diagnose problems with a PPP link.

Trace Example 1--Successful Link Establishment

The following example trace shows an exchange of LPC and IPNCP packets that results in a PPP link established successfully between two hosts:


18:10:32: ipdptp0 Send: LCP Packet Config Request  [id: 15]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: 4e0d20fb
	  Protocol Field Compression
	  Address and Control Field Compression
18:10:32: ipdptp0 Recv: LCP Packet Config Request  [id: 15]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: 4e0d20fb
	  Protocol Field Compression
	  Address and Control Field Compression

18:10:32: ipdptp0 Recv: LCP Packet Config Request  [id: 1c]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: 17d1cf32
	  Protocol Field Compression
	  Address and Control Field Compression
18:10:32: ipdptp0 Send: LCP Packet Config Request  [id: 16]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: 4e0d20fb
	  Protocol Field Compression
	  Address and Control Field Compression
18:10:32: ipdptp0 Send: LCP Packet Config Ack      [id: 1c] [length:
0012]
	  Maximun Receive unit: 1500
	  Magic Number: 17d1cf32
	  Protocol Field Compression
	  Address and Control Field Compression
18:10:33: ipdptp0 Recv: LCP Packet Config Request  [id: 1d]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: 17d1cf32
	  Protocol Field Compression
	  Address and Control Field Compression
18:10:33: ipdptp0 Send: LCP Packet Config Ack      [id: 1d] [length:
0012]
	  Maximun Receive unit: 1500
	  Magic Number: 17d1cf32
	  Protocol Field Compression
	  Address and Control Field Compression
18:10:33: ipdptp0 Recv: LCP Packet Config Ack      [id: 16] [length:
0012]
	  Maximun Receive unit: 1500
	  Magic Number: 4e0d20fb
	  Protocol Field Compression
	  Address and Control Field Compression
18:10:33: ipdptp0 Send: NCP Packet Internet Protocol Config
Request  [id: 17] [length: 0010]
	  IP Compression Protocol Van Jacobson
	  IP Address: 129.157.204.61
18:10:33: ipdptp0 Recv: NCP Packet Internet Protocol Config
Request  [id: 1e] [length: 0010]
	  IP Compression Protocol Van Jacobson

	  IP Address: 129.157.204.177
18:10:33: ipdptp0 Send: NCP Packet Internet Protocol Config Ack     
[id: 1e] [length: 0010]
	  IP Compression Protocol Van Jacobson
	  IP Address: 129.157.204.177
18:10:33: ipdptp0 Recv: NCP Packet Internet Protocol Config Ack     
[id: 17] [length: 0010]
	  IP Compression Protocol Van Jacobson
	  IP Address: 129.157.204.61

Trace Example 2 -- Failed CHAP Negotiation

The following example trace shows the sequence of events that occur at the caller side, when the caller requests CHAP authentication from a peer that is not configured to support CHAP:


11:17:41: ipdptp0 Send: LCP Packet Config Request  [id: 55]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: ae36559a
	  Protocol Field Compression
	  Address and Control Field Compression
11:17:42: ipdptp0 Recv: LCP Packet Config Request  [id: 55]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: ae36559a
	  Protocol Field Compression
	  Address and Control Field Compression
11:17:42: ipdptp0 Recv: LCP Packet Config Request  [id: 0e]
[length: 0017]
	  Maximun Receive unit: 1500
	  Authentication protocol: CHAP using MD5 algorithm
	  Magic Number: 3ca14856
	  Protocol Field Compression
	  Address and Control Field Compression
11:17:42: ipdptp0 Send: LCP Packet Config Reject   [id: 0e]
[length: 0009]
	  Authentication protocol: CHAP using MD5 algorithm
11:17:42: ipdptp0 Recv: LCP Packet Terminate Request [id: 0f]
[length: 0004]

11:17:42: ipdptp0 Send: LCP Packet Terminate Ack     [id: 0f]
[length: 0004]
11:17:45: ipdptp0 Send: LCP Packet Config Request  [id: 56]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: ae36559a
	  Protocol Field Compression
	  Address and Control Field Compression
11:17:48: ipdptp0 Send: LCP Packet Config Request  [id: 57]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: ae36559a
	  Protocol Field Compression
	  Address and Control Field Compression
	  .
	  .
	  .
11:18:09: ipdptp0 Send: LCP Packet Config Request  [id: 5f]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: ae36559a
	  Protocol Field Compression
	  Address and Control Field Compression

The following example trace shows the corresponding sequence of events that occur at the answering side:


18:28:21: ipdptp0 Send: LCP Packet Config Request  [id: 20]
[length: 0017]
          Maximun Receive unit: 1500
          Authentication protocol: CHAP using MD5 algorithm
          Magic Number: f16105df
          Protocol Field Compression
          Address and Control Field Compression
18:28:21: ipdptp0 Recv: LCP Packet Config Reject   [id: 20]
[length: 0009]
          Authentication protocol: CHAP using MD5 algorithm
18:28:21: ipdptp0 Send: LCP Packet Terminate Request [id: 21]
[length: 0004]
18:28:21: ipdptp0 Recv: LCP Packet Terminate Ack     [id: 21]
[length: 0004]

Trace Example 3 -- Successful CHAP Negotiation

The following example trace shows the sequence of events that occur at the caller side, when CHAP authentication is negotiated successfully:


13:49:58: ipdptp0 Send: LCP Packet Config Request  [id: 62]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: 7bc9c0bb
	  Protocol Field Compression
	  Address and Control Field Compression
13:49:59: ipdptp0 Recv: LCP Packet Config Request  [id: 62]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: 7bc9c0bb
	  Protocol Field Compression
	  Address and Control Field Compression
13:49:59: ipdptp0 Recv: LCP Packet Config Request  [id: 1b]
[length: 0016]
	  Maximun Receive unit: 1500
	  Authentication protocol: PAP
	  Magic Number: 406bdebf
	  Protocol Field Compression
	  Address and Control Field Compression
13:49:59: ipdptp0 Send: LCP Packet Config Request  [id: 63]
[length: 0012]
	  Maximun Receive unit: 1500
	  Magic Number: 7bc9c0bb
	  Protocol Field Compression
	  Address and Control Field Compression
13:49:59: ipdptp0 Send: LCP Packet Config Ack      [id: 1b] [length:
0016]
	  Maximun Receive unit: 1500
	  Authentication protocol: PAP
	  Magic Number: 406bdebf
	  Protocol Field Compression
	  Address and Control Field Compression
13:49:59: ipdptp0 Recv: LCP Packet Config Request  [id: 1c]
[length: 0016]
	  Maximun Receive unit: 1500
	  Authentication protocol: PAP
	  Magic Number: 406bdebf
	  Protocol Field Compression

	  Address and Control Field Compression
13:49:59: ipdptp0 Send: LCP Packet Config Ack      [id: 1c] [length:
0016]
	  Maximun Receive unit: 1500
	  Authentication protocol: PAP
	  Magic Number: 406bdebf
	  Protocol Field Compression
	  Address and Control Field Compression
13:49:59: ipdptp0 Recv: LCP Packet Config Ack      [id: 63] [length:
0012]
	  Maximun Receive unit: 1500
	  Magic Number: 7bc9c0bb
	  Protocol Field Compression
	  Address and Control Field Compression
13:49:59: ipdptp0 Send: PAP Packet Authenticate Request [id: 01]
[length: 0010]
	  Peer ID: 4e 41 4d 45  (NAME)
	  Password: 50 41 53 53 57 44  (PASSWD)
13:49:59: ipdptp0 Recv: PAP Packet Authenticate Ack [id: 01]
[length: 0005]
	  No message
13:49:59: ipdptp0 Send: NCP Packet Internet Protocol Config
Request  [id: 64] [length: 0010]
	  IP Compression Protocol Van Jacobson
	  IP Address: 129.157.204.61
13:49:59: ipdptp0 Recv: NCP Packet Internet Protocol Config
Request  [id: 1d] [length: 0010]
	  IP Compression Protocol Van Jacobson
	  IP Address: 129.157.204.177
13:49:59: ipdptp0 Send: NCP Packet Internet Protocol Config Ack     
[id: 1d] [length: 0010]
	  IP Compression Protocol Van Jacobson
	  IP Address: 129.157.204.177
13:49:59: ipdptp0 Recv: NCP Packet Internet Protocol Config Ack     
[id: 64] [length: 0010]
	  IP Compression Protocol Van Jacobson
	  IP Address: 129.157.204.61

Trace Example 4 -- Dump of Successful ping

The following example trace shows a dump of the PPP frames exchanged during the successful execution of a ping(1M) command over an established PPP link:


18:38:37: ipdptp0 Send: Internet Protocol Packet
21 45 00 00 54 86 e1 40 00 ff 01 58 9d 81 9d cc  "!E..T..@...X...."
3d 81 9d cc b1 08 00 f9 4c 02 51 00 00 2f ba 26  "=.......L.Q../.&"
8d 00 01 bb 16 08 09 0a 0b 0c 0d 0e 0f 10 11 12  "................"
13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22  "..............!""
23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32  "#$%&'()*+,-./012"
33 34 35 36 37                                   "34567           "
	 
18:38:37: ipdptp0 Recv: Internet Protocol Packet

ff 03 00 21 45 00 00 54 ec 77 40 00 ff 01 f3 06  "...!E..T.w@....."
81 9d cc b1 81 9d cc 3d 00 00 01 4d 02 51 00 00  ".......=...M.Q.."
2f ba 26 8d 00 01 bb 16 08 09 0a 0b 0c 0d 0e 0f  "/.&............."
10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f  "................"
20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f  ".!"#$%&'()*+,-./"
30 31 32 33 34 35 36 37                          "01234567        "
	 
18:38:38: ipdptp0 Send: Internet Protocol Packet

21 45 00 00 54 86 e2 40 00 ff 01 58 9c 81 9d cc  "!E..T..@...X...."
3d 81 9d cc b1 08 00 3f 98 02 51 00 01 2f ba 26  "=......?..Q../.&"
8e 00 02 74 c8 08 09 0a 0b 0c 0d 0e 0f 10 11 12  "...t............"
13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22  "..............!""
23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32  "#$%&'()*+,-./012"
33 34 35 36 37                                   "34567           "

Trace Example 5 -- Dump of Successful telnet Session

The following example trace shows a dump of the PPP frames exchanged during the successful execution of a telnet(1) command over an established PPP link:


18:40:44: ipdptp0 Send: Internet Protocol Packet

21 45 00 00 2c 86 ee 40 00 ff 06 58 b3 81 9d cc  "!E..,..@...X...."
3d 81 9d cc b1 80 35 00 17 94 b9 9a 00 00 00 00  "=.....5........."
00 60 02 22 38 2a be 00 00 02 04 05 b4           ".`."8*.......   "
	 
18:40:44: ipdptp0 Recv: Internet Protocol Packet

ff 03 00 21 45 00 00 2c ec 84 40 00 ff 06 f3 1c  "...!E..,..@....."
81 9d cc b1 81 9d cc 3d 00 17 80 35 93 e9 98 00  ".......=...5...."
94 b9 9a 01 60 12 22 38 fe c2 00 00 02 04 05 b4  "....`."8........"
	 
18:40:44: ipdptp0 Send: VJ Uncompressed TCP/IP Packet

2f 45 00 00 28 86 ef 40 00 ff 00 58 b6 81 9d cc  "/E..(..@...X...."
3d 81 9d cc b1 80 35 00 17 94 b9 9a 01 93 e9 98  "=.....5........."
01 50 10 22 38 16 80 00 00                       ".P."8....       "
	 
18:40:44: ipdptp0 Send: VJ Compressed   TCP/IP Packet

	  2d 10 17 5c ff fd 03 ff fb 18              "-..\......      "
	 
18:40:44: ipdptp0 Recv: VJ Uncompressed TCP/IP Packet

ff 03 00 2f 45 00 00 28 ec 85 40 00 ff 00 f3 1f  ".../E..(..@....."
81 9d cc b1 81 9d cc 3d 00 17 80 35 93 e9 98 01  ".......=...5...."
94 b9 9a 07 50 10 22 32 16 80 00 00              "....P."2....    "
	 
18:40:45: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 12 fe 70 06 ff fd 18                 "...-..p....     "
	 
18:40:45: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 0c 16 77 03 06                                "-..w..          "
	 
18:40:45: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1f 26 52 ff fb 03 ff fa 18 01 ff f0  "...-.&R........."
	 
18:40:45: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 14 e4 8d 09 ff fa 18 00 53 55 4e 2d 43 4d 44  "-........SUN-CMD"
ff f0                                            "..              "
	 
18:40:45: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 0c 16 61 0d 09                       "...-..a..       "
	 
18:40:46: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 10 7f a0 ff fb 01 ff fd 01 0d 0a 0d  "...-............"
0a 55 4e 49 58 28 72 29 20 53 79 73 74 65 6d 20  ".UNIX(r).System."
56 20 52 65 6c 65 61 73 65 20 34 2e 30 20 28 62  "V.Release.4.0.(b"
6c 6f 6e 64 65 29 0d 0a 0d 00 0d 0a 0d 00        "londe)........  "
	 
18:40:46: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 1c 18 1d 37 0d ff fd 01 ff fc 01              "-...7.......    "
	 
18:40:46: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1c b4 01 06 37 6c 6f 67 69 6e 3a 20  "...-....7login:."
	 
18:40:46: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 0c 16 1d 07 06                                "-.....          "
	 
18:40:46: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1f 15 13 ff fe 01                    "...-......      "
	 
18:40:46: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 04 16 1a 03                                   "-....           "
	 
18:40:53: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 10 a4 10 72                                   "-...r           "
	 
18:40:53: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1c a4 0f 01 03 72                    "...-.....r      "
	 
18:40:53: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 0b 16 18                                      "-...            "
	 
18:40:54: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 10 a7 0e 6f                                   "-...o           "
	 
18:40:54: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1b a7 0d 6f                          "...-...o        "
	 
18:40:54: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 0b 16 16                                      "-...            "
	 
18:40:54: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 10 a7 0c 6f                                   "-...o           "
	 
18:40:54: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1b a7 0b 6f                          "...-...o        "
	 
18:40:55: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 0b 16 14                                      "-...            "
	 
18:40:55: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 10 a2 0a 74                                   "-...t           "
	 
18:40:56: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1b a2 09 74                          "...-...t        "
	 
18:40:56: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 0b 16 12                                      "-...            "
	 
18:40:59: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 10 09 08 0d 00                                "-.....          "
	 
18:40:59: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1c 08 fc 02 01 0d 0a                 "...-.......     "
	 
18:40:59: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 0b 16 0e                                      "-...            "
	 
18:40:59: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 1f 2e 33 50 61 73 73 77 6f 72 64 3a  "...-..3Password:"
20                                               ".               "
	 
18:40:59: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 04 16 04 0a                                   "-....           "
	 
18:45:46: ipdptp0 Recv: Internet Protocol Packet

ff 03 00 21 45 00 00 28 ec 92 40 00 ff 06 f3 12  "...!E..(..@....."
81 9d cc b1 81 9d cc 3d 00 17 80 35 93 e9 98 5e  ".......=...5...^"
94 b9 9a 20 50 11 22 38 16 03 00 00              "....P."8....    "
	 
18:45:46: ipdptp0 Send: VJ Compressed   TCP/IP Packet

2d 04 16 03 01                                   "-....           "
	 
18:45:46: ipdptp0 Send: Internet Protocol Packet

21 45 00 00 28 87 02 40 00 ff 06 58 a3 81 9d cc  "!E..(..@...X...."
3d 81 9d cc b1 80 35 00 17 94 b9 9a 20 93 e9 98  "=.....5........."
5f 50 11 22 38 16 02 00 00                       "_P."8....       "
	 
18:45:46: ipdptp0 Recv: VJ Compressed   TCP/IP Packet

ff 03 00 2d 2c 16 02 01 0b 02                    "...-,.....      "

Using pppstat

The pppstat command displays information about the number and type of IP packets and PPP frames sent or received since Solstice PPP was started. This information provides a record of link usage and can be used to highlight problems with the network.

See Appendix A, PPP Link Operation" for a detailed description of the various PPP frames and their significance.

The pppstat command has the following general form:


prompt# pppstat [-i] [-e] [-l] [-n] [ppp_link_name]

Displaying IP Statistics

Executing the pppstat command with the -i option displays information about the IP packets sent and received since Solstice PPP was started. A single IP datagram is encapsulated in each PPP frame.


prompt# pppstat -i

IP status for PPP MIB link number 1

33 IP   packets in (1500 octets total)
38 IP   packets out (366 octets total)

2       packets in  TYPE IP
3       packets in  TYPE VJ UNCOMPRESSED
28      packets in  TYPE VJ COMPRESSED
2       packets out TYPE IP
3       packets out TYPE VJ UNCOMPRESSED
33      packets out TYPE VJ COMPRESSED

Displaying PPP Error Statistics

Executing the pppstat command with the -e option displays information about the PPP error frames sent and received since Solstice PPP was started.


prompt# pppstat -e

Errors status for PPP MIB link number 1

0 bad HDLC address fields, last was 0x00
0 bad HDLC control fields, last was 0x00
0 frames received with invalid protocol id, last was 0x0000
0 packets exceeded local maximum receive unit
0 packets were too short to be valid
0 packets had headers which were too short
0 packets received with bad CRC
1 Configure Request packets retransmitted due to timeout
0 Terminate Request packets retransmitted due to timeout

Displaying PPP LCP Statistics

Executing the pppstat command with the -l option displays information about the PPP LCP (link control protocol) frames sent and received since Solstice PPP was started.


prompt# pppstat -l

LCP status for PPP MIB link number 1

4 LCP packets in (72 octets)	4 LCP packets out (72 octets)
0 LCP protocol rejects
2 LCP Configure Requests sent	3 LCP Configure Requests received
2 LCP Configure Acks sent	1 LCP Configure Acks received
0 LCP Configure Naks sent	0 LCP Configure Naks received
0 LCP Configure Rejs sent	0 LCP Configure Rejs received
0 LCP Terminate Requests sent	0 LCP Terminate Requests received
0 LCP Terminate Acks sent	0 LCP Terminate Acks received
0 LCP Code Rejects sent	0 LCP Code Rejects received
0 LCP Echo Requests sent	0 LCP Echo Requests received
0 LCP Echo Responses sent	0 LCP Echo Responses received
0 LCP Disconnect Reqs sent	0 LCP Disconnect Reqs received

Displaying IP NCP Statistics

Executing the pppstat command with the -n option displays information about the IP NCP (network control protocol) frames sent and received since Solstice PPP was started.


prompt# pppstat -n

IPNCP status for PPP MIB link number 1

3 IPNCP packets in (42 octets)     3 IPNCP packets out (48 octets)
0 IPNCP protocol rejects
2 IPNCP Configure Requests sent	1 IPNCP Configure Reqs received
1 IPNCP Configure Acks sent	1 IPNCP Configure Acks received
0 IPNCP Configure Naks sent	1 IPNCP Configure Naks received
0 IPNCP Configure Rejs sent	0 IPNCP Configure Rejs received
0 IPNCP Terminate Requests sent	0 IPNCP Terminate Reqs received
0 IPNCP Terminate Acks sent	0 IPNCP Terminate Acks received
0 IPNCP Code Rejects sent	0 IPNCP Code Rejects received
0 IPNCP Echo Requests sent	0 IPNCP Echo Requests received
0 IPNCP Echo Responses sent	0 IPNCP Echo Responses received
0 IPNCP Disconnect Reqs sent	0 IPNCP Disconnect Reqs received

Checking the IP Routing

IP routing is a common source of problems with products such as Solstice PPP, which implement IP connections over PPP links. To detect problems with IP routing:

  1. Check the protocol status, using ifconfig(1M)

  2. Check the IP connectivity, using ping(1M)

  3. Check the routing tables, using netstat(1M)

  4. Check the packet flow, using snoop(1M)

Checking the Protocol Status (ifconfig)

Use ifconfig(1M) to check that the IP interfaces for Solstice PPP are configured, by typing:


prompt# /usr/sbin/ifconfig -a
lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232
	inet 127.0.0.1 netmask ff000000
le0: flags=863<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
	inet 129.x.x.117 netmask ffffff00 broadcast 129.x.x.255
	ether 8:0:20:10:c2:b1
ipdptp0: flags=8d0<POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500
	inet 129.x.x.117 --> 129.x.x.253 netmask ffffff00
	ether 0:0:0:0:0:0
ipdptp1: flags=28d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>
	inet 129.x.x.117 --> 129.x.x.38 netmask ffffff00
	ether 0:0:0:0:0:0 

Checking the IP Connectivity (ping)

Use ping(1M) to check that you can reach a remote host, by typing:


prompt# /usr/sbin/ping -r remote_host

Follow the status of the connection in the file /var/opt/SUNWconn/ppp.log. If the LCP negotiation fails with the message "PPP error on ipdptp1: Negotiation of mandatory options failed", the IP addresses used for the interfaces at each end of the link may not be coherent.

Checking the Routing Tables (netstat)

Use netstat(1M) to check the network addresses of the local and remote hosts, by typing:


prompt# /usr/sbin/netstat -i
lo0	8232	loopback	localhost	4631890	0	4631890	0	0	0
le0	1500	lab	local	5370160	15	2153627	273	430451	0
ipdptp0	1500	remote	local	0	0	0	0 	0	0

Check that the local and remote addresses are correct. Hostnames must be resolved as IP addresses in either the local file /etc/hosts, or by a naming service (NIS/NIS+ or DNS). IP interfaces for synchronous links are initialized by Solstice PPP before the naming services are available; therefore the hostname for these files must be resolved in /etc/hosts.

Use netstat(1M) to check the routing table, by typing:


prompt# /usr/sbin/netstat -r

If the routing table does not include the expected routes, check that the routing daemon in.routed is running on your machine, by typing:


prompt# ps -ef | grep in.routed
owner 12481  3812  7 23:06:08 pts/6    0:00 grep in.routed

Checking the Packet Flow (snoop)

Use snoop(1M) to check that packets are being transmitted. For example:


prompt# /usr/sbin/snoop -d ipdptp0
local -> remote         RSHELL C port=1017   >0   'H   ![    ?
local -> remote         RSHELL C port=1017   ,(!\nM/            
local -> remote         RSHELL C port=1017   Y@#K /  ]0#Z    ] 'Z
local -> remote         RSHELL C port=1017   .?;-)P3O89, "  2 H8"
local -> remote         RSHELL C port=1017   @         \#\  
.
.
.

Understanding the Log File

Error and status messages for Solstice PPP are written to the log file /var/opt/SUNWconn/ppp.log. See "Status and Error Messages" for a complete list of the messages which may appear in the log file.


Note -

The log file can grow very large and should be truncated regularily.


Successful Connection Attempt

The following log file extract shows the messages logged when Solstice PPP is started successfully on a client, and a connection to a remote server is opened and then disconnected:


11/14/95 15:32:55 - Link manager (904) has started 11/14/95
11/14/95 15:32:55 - Successful configuration
11/14/95 15:33:06 - Connection requested to miles
11/14/95 15:33:07 - Dialing number P365 ...
11/14/95 15:33:40 - Got modem connection
11/14/95 15:33:42 - LCP up on ipdptp0
11/14/95 15:33:42 - IP_NCP up on ipdptp0
11/14/95 15:33:42 - IP up on interface ipdptp0, with timeout set
to 120 seconds
11/14/95 15:35:41 - Disconnect indication on ipdptp0
11/14/95 15:35:41 - IP_NCP down on ipdptp0
11/14/95 15:35:42 - LCP down on ipdptp0

The corresponding log file on the server shows the messages logged when the incoming connection is accepted and then disconnected:


11/14/95 15:28:58 - Received a call on pppdev0
11/14/95 15:28:59 - Using dialup_path with expect_login_id ppp2
11/14/95 15:28:59 - LCP up on ipdptp0
11/14/95 15:28:59 - IP_NCP up on ipdptp0
11/14/95 15:29:00 - IP up on interface ipdptp0, with timeout set
to 120 seconds
11/14/95 15:30:59 - interface ipdptp0 has been disconnected
11/14/95 15:30:59 - Device pppdev0 has been disconnected

Problems Configuring Solstice PPP

When Solstice PPP is started, it reads the configuration files that you created using the configuration script pppinit. If these files do not exist, Solstice PPP displays the following message:


starting ppp (not configured)

The following log file extract shows the log messages that are generated when one of the configuration files contains an error:


11/13/95 18:53:22 - Link manager (460) has started 11/13/95
11/13/95 18:53:22 - parse_config_file: unrecognized symbol
nactivity_timeout
11/13/95 18:53:22 - parse_config_file: unrecognized symbol 180
11/13/95 18:53:22 parse_config_file: Errors in configuration file
/etc/opt/SUNWconn/ppp/ppp.conf

In this example, there is an unrecognised keyword contained in the file ppp.conf, which is rejected when the file is parsed. Check the configuration files for typographical errors and illegal values assigned to keywords. Restart Solstice PPP to read the configuration.

Problems Getting the Modem Connection

The first step in the connection phase is the modem connection. The client dials the telephone number of the modem connected to the server, and the two modems communicate to set up the connection.

The following log file extract shows the log messages that are generated when a client fails in an attempt to establish the modem connection:


11/13/95 19:57:44 - Connection requested to miles
11/13/95 19:57:45 - Dialing number P365 ...
11/13/95 19:58:09 - remote host is busy

The connection request never reaches the server; therefore, there are no corresponding messages in the log file on the server.

The message remote host is busy is displayed whenever the client fails to make the modem connection. This may mean that the server modem is already in use by another client, or that it has failed to terminate a previous connection cleanly. It may also mean that there is a problem with the equipment. In this example, the error was provoked by using tone dialing with an office exchange that expected pulse dialing.

Try telephoning the number directly to make sure that you can reach the modem. If you cannot reach the modem, check the telephone number the client is dialing.

Problems with the CHAT Script

The CHAT scrip is executed automatically each time a client initiates a call. It is used to exchange information with the server during the connection phase.

The following log file extract shows the log messages generated when the client did not receive the response it expected from the server:


11/14/95 15:38:52 - Connection requested to miles
11/14/95 15:38:53 - Dialing number P365 ...
11/14/95 15:39:35 - Got modem connection
11/14/95 15:39:53 - Timeout expired
11/14/95 15:40:03 - Timeout expired
11/14/95 15:40:13 - Timeout expired
11/14/95 15:40:23 - Timeout expired
11/14/95 15:40:23 - fail at line 18 in chat script /etc/opt/
SUNWconn/ppp/script/miles.scr

The following log file extract shows the log messages generated when the client did not send the response expected by the server:


11/14/95 15:58:03 - Connection requested to miles
11/14/95 15:58:04 - Dialing number P365 ...
11/14/95 15:58:37 - Got modem connection
11/14/95 15:59:16 - Timeout expired
11/14/95 15:59:16 - fail at line 25 in chat script /etc/opt/
SUNWconn/ppp/script/miles.scr

In some circumstances, an error in the CHAT script can provoke a loopback condition when the login sequence is not completed successfully. The following log file extract show the error messages generated by a loopback condition:


11/14/95 15:45:05 - Connection requested to miles
11/14/95 15:45:06 - Dialing number P365 ...
11/14/95 15:45:42 - Got modem connection
11/14/95 15:45:58 - PPP error on ipdptp0: Loop back detected
11/14/95 15:45:58 - Check if your connect script is correct.
11/14/95 15:45:58 - Or PPP may not be started on the remote host

Problems with PPP Negotiation

Once you have a modem connection and completed the login phase, the next step in the connection phase is the PPP negotiation. The client and the server communicate to negotiate a common configuration for the PPP link. The policy is to converge if at all possible; however, failure to agree on certain mandatory parameters will cause the negotiation to fail, as shown in the following log file extract:


11/13/95 20:34:42 - Connection requested to miles
11/13/95 20:34:43 - Dialing number P365 ...
11/13/95 20:35:16 - Got modem connection
11/13/95 20:35:19 - LCP up on ipdptp0
11/13/95 20:35:19 - PPP error on ipdptp0: Negotiation of mandatory
options failed

Problems with PAP and CHAP Authentication

The following log file extract shows what happens when a client fails to respond to a request for authentication:


11/14/95 10:22:41 - Connection requested to miles
11/14/95 10:22:42 - Dialing number P365 ...
11/14/95 10:23:16 - Got modem connection
11/14/95 10:23:47 - PPP error on ipdptp0: Maximum number of
configure requests exceeded

In this example, the server requested PAP authentication and the client rejected the request. After a specified number of requests, the server broke the connection without starting the PPP negotiation.

The following log file extract shows what happens when the client responds to the request for authentication with the wrong password:


11/14/95 15:20:04 - Connection requested to miles
11/14/95 15:20:04 - Dialing number P365 ...
11/14/95 15:20:09 - Got modem connection
11/14/95 15:20:09 - LCP up on ipdptp0
11/14/95 15:20:09 - PPP error on ipdptp0: Negotiation of mandatory
options failed

In both cases, the server sees a failed PPP negotiation and generates the following log file messages:


11/14/95 15:20:08 - Received a call on pppdev0
11/14/95 15:20:09 - Using dialup_path with expect_login_id ppp2
11/14/95 15:20:09 - PPP error on ipdptp0: Negotiation of mandatory
options failed
11/14/95 15:20:09 - Device pppdev0 has been disconnected

Problems with the Inactivity Timeout

The inactivity timeout closes the connection automatically when it remains unused for a specified number of seconds. This means that you do not pay for telephone connections that are left open accidently. However, if the inactivity timeout is too short, your connection may be closed prematurely.

The following log file extract shows an inactivity timeout triggered by the client after 60 seconds:


11/13/95 18:00:03 - IP up on interface ipdptp0, with timeout set
to 60 seconds
11/13/95 18:00:14 - Interface ipdptp0 has timed out

If the connection times out systematically, increase the inactivity timeout for calls to the server.

The following log file extract shows a connection that has been disconnected by the server for some reason. One possible cause is an inactivity timeout on the server that is shorter than the inactivity timeout on the client. It may also have been caused by a normal disconnect request from the server side.


11/13/95 18:13:46 - IP up on interface ipdptp0, with timeout set
to 240 seconds
11/13/95 18:15:47 - interface ipdptp0 has been disconnected

Status and Error Messages

The following sections list the status messages and most common error messages that appear in the log file /var/opt/SUNWconn/ppp.log.


Note -

The log file can grow very large and should be truncated regularily.


To display the messages logged in ppp.log, type:


prompt% tail -f /var/opt/SUNWconn/ppp.log

Status Messages

The following status messages trace the progress of successful IP connections over PPP links, and are displayed during normal link operation. They may also indicate problems that occur as a result of configurations errors.

add_default_route:default route not allowed on ipd device

The keyword default_route is not allowed in path definitions associated with point-to-multipoint (ipdn) IP interfaces.

Check that the connect script is correct, or PPP may not be started on the remote host

Indicates that the link manager failed to establish a PPP link to the remote host. This may be because PPP is not running on the remote host, or it may indicate that there is an error in the login dialog defined in the connect script. Check that there is a valid login id and password contained in the script, and that a corresponding user account exists on the remote host. If the remote host is not running Solaris, you may need to change other components in the login dialog. See "Editing the CHAT (or Connect) Scripts" for detailed instructions.

Connection closed on ip_interface

Indicates that an IP connection for the specified interface (ipdn or ipdptpn) was closed normally, following a terminate request from either the local or the remote host.

Connection requested to remote_host

Indicates that the link manager received a request for an IP connection to the specified remote host. The remote host must be defined in the file link.conf.

Device unix_device has been disconnected

Indicates that the modem connection has been closed normally, following a disconnect request generated by one of the endpoints in the link.

Dialing number phone_number ...

Indicates that the modem is dialing the specified number to establish a physical connection to the remote host.

Dialup_path login_id already used for another connection

Indicates that two remote hosts, using the same login id, have made simultaneous connections. Only one connection can be treated at a time.

Dialup_path not defined for outgoing call

Indicates that there is no remote host associated with the dialup path definition that is being used in an attempt to initiate a connection. Modify the dialup path definition in the file ppp.conf to add a remote host, and add a corresponding remote host definition to the file link.conf, if necessary.

Disconnect indication on ip_interface

Indicates that a PPP terminate request was generated by one of the endpoints in the link. This usually indicates a normal disconnection following the expiry of the inactivity timeout, for example.

Got modem connection

Indicates that the modem has completed dialing successfully and that the physical connection has been established.

Host [remote_host] not found in the host list

Indicates that the link manager is trying to establish a connection to a remote host that is not defined in the file link.conf. Check that the remote_host keyword in the dialup path definition points to a valid remote host definition.

Host remote_host is not available

Indicates that the remote host could not be accessed for some reason. It may indicate that the remote device is busy.

IP up on interface ip_interface, with timeout set to timeout

Indicates that an IP connection has been established successfully for the specified interface (ipdn or ipdptpn). The IP connection will be closed automatically after timeout seconds of inactivity, or earlier if the inactivity timeout set at the remote end of the connection is set to a lower value.

IP up on ip_interface

Indicates that the IP layer for the specified IP interface (ipdn or ipdptpn) has been configured and brought up. The IP connection has been completed successfully, and the timeout has been set to zero. The IP connection will remain open until closed explicitly, by stopping Solstice PPP or running pppdisc(1M).

IP_NCP down on ip_interface

Indicates that the IP network control protocol (NCP) layer for the specified interface (ipdn or ipdptpn) has been brought down. This may be due to a termination request generated by either host.

IP_NCP up on ip_interface

Indicates that the IP network control protocol (NCP) layer for the specified IP interface (ipdn or ipdptpn) has been configured and brought up. See Appendix A, PPP Link Operation" for more information about this phase of the PPP link negotiation.

Interface ip_interface has timed out

Indicates that the specified IP interface (ipdn or ipdptpn) has been closed automatically after the inactivity timeout at one end of the link has expired.

Invalid empty name for chat script

Indicates that there is no CHAT script defined in the file link.conf for this remote host. You must create a unique CHAT script for each remote host to which the local host will initiate connections. See "Editing the CHAT (or Connect) Scripts" for detailed instructions.

LCP down on ip_interface

Indicates that the link control protocol (LCP) layer for the specified IP interface (ipdn or ipdptpn) has been brought down. This may be due to a termination request generated by either host.

LCP up on ip_interface

Indicates that the link control protocol (LCP) layer for the specified IP interface (ipdn or ipdptpn) has been configured and brought up. See Appendix A, PPP Link Operation" for more information about this phase of the PPP link negotiation.

License manager has exited

Indicates that there is a problem with the license system. Check that the license daemon is configured and running.

Link manager (pid) has started date

Indicates that the PPP link manager has been configured and started successfully.

No device available for ip_interface

Indicates that all there are no more modems available. This is normally a temporary situation, which occurs when there are more IP connections requested than there are modems.

PPP error on ip_interface: reason

Indicates that an error occurred during either the link establishment, or the peer authentication phase. The reason for the error is given as part of the error message. Use ppptrace(1M) for further diagnosis.

Received incoming call while dialing

Indicates that the local host received a connection request from a remote host, while it was attempting to initiate an outgoing call on the same modem. This message is displayed for information only, local host will continue it call.

Received a call on ip_interface

Indicates that the local host accepted an incoming connection for the specified IP interface (ipdn or ipdptpn).

Remote host is busy

Indicates that the call could not be completed because the remote modem is already being used for another connection.

Resetting the modem to server mode

Indicates that the program pppsetmod(1M) has been used to initialize the modem in server (or answer) mode so that it waits for incoming connections. This programs sends the server string contained in the modems database file /etc/opt/SUNWconn/ppp/modems.

Successful configuration

Indicates that the configuration files ppp.conf and link.conf were parsed successfully when Solstice PPP was started.

PPP has found a valid license

Indicates that the license daemon is running and that Solstice PPP has been given a license token.

PPP is waiting to get a license

Indicates that the license daemon is running, but that has assigned all the available license tokens to other users. PPP is waiting for a token to be released.

Timeout expired

Indicates that the IP connection has been inactive for the number of seconds defined by the inactivity_timeout parameter (default 120 seconds). The connection is closed automatically.

Unable to find the required expect_login_id login_id

Indicates that the PPP login service has accepted an incoming connection, following a successful UNIX login sequence, but that the link manager has not found a dialup path definition in the file ppp.conf with a expect_login_id parameter that matches the login id sent by the remote host.

Unable to get license, PPP exiting

Indicates that Solstice PPP was unable to get a license token from the license daemon after a certain number of retries. Check that the license daemon is installed correctly and running. If the license daemon is not running on the same machine as Solstice PPP, check that there is a network connection that allows access to the daemon.

Unable to regain license, PPP closing down

Indicates that Solstice PPP lost the license token was unable to get it back after a certain number of retries. Check that the license daemon is still running.

Using dialup_path with expect_login_id login_id

Indicates that the PPP login service has accepted an incoming connection, following a successful UNIX login sequence, and that the link manager has identified the corresponding dialup path definition.

Configuration Error Messages

The following configuration error messages are displayed if errors are encountered when the PPP path configuration file ppp.conf is parsed. In all cases, you should modify the file to correct the error and restart Solstice PPP to correct the problem.

expect_chap_name "name" ends in CR/LF

Indicates that the specified CHAP name is terminated with a carriage return (CR) or line-feed (LF) escape sequence.

expect_chap_name "name" ends in NUL

Indicates that the specified CHAP name is terminated with a NULL character.

default_route: no path defined

Indicates that the specified default_route keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

host IP address not found: hostname

Indicates that the parser was unable to resolve specified hostname to find the IP address. For a synchronous path, the hostname must be associated with an IP address in the file /etc/hosts on the local machine. For an asynchronous path, the hostname may appear in the file /etc/hosts, or be specified by some other naming system.

inactivity_timeout string not recognized

Indicates that the specifies string is not a valid value for the inactivity_timeout parameter. You must enter an integer.

inactivity_timeout: no path defined

Indicates that the specified inactivity_timeout keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

interface number n not recognized

Indicates that the specified number does not correspond to any of the IP interfaces defined in the configuration file.

invalid ip_interface: string

Indicates that the specified string does not correspond to a valid point-to-point (ipdptpn) or point-to-multipoint (ipdn) IP interface.

ip_interface: no path defined

Indicates that the specified ip_interface keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

ipcp_compression value string not recognized

Indicates that the specifies string is not a valid value for the ipcp_compression parameter. Valid values are vj (enabled) and off (disabled).

ipcp_compression: no path defined

Indicates that the specified inactivity_timeout keyword appears in the configuration file, but is not associated with any dialup path definition.

ipd or ipdptp keyword expected

Indicates that the ip_interface keyword appears without specifying a valid point-to-point (ipdptpn) or point-to-multipoint (ipdn) IP interface.

lcp_async_map value string not recognized

Indicates that the specifies string is not a valid value for the lcp_async_map parameter. You must enter a hexadecimal value between 0x0 and 0xffffffff.

lcp_async_map: no path defined

Indicates that the specified lcp_async_map keyword appears in the configuration file, but is not associated with any dialup path definition.

lcp_compression value string not recognized

Indicates that the specifies string is not a valid value for the lcp_compression parameter. Valid values are on (enabled) and off (disabled).

lcp_compression: no path defined

Indicates that the specified lcp_compression keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

lcp_max_restart value string not recognized

Indicates that the specifies string is not a valid value for the lcp_max_restart parameter. You must enter an integer between 1 and 255.

lcp_max_restart: no path defined

Indicates that the specified lcp_max_restart keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

lcp_mru value string not recognized

Indicates that the specifies string is not a valid value for the lcp_mru parameter. You must enter an integer between 1 and 255.

lcp_mru: no path defined

Indicates that the specified lcp_mru keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

lcp_restart_timer value string not recognized

Indicates that the specifies string is not a valid value for the lcp_restart_timer parameter. You must enter an integer.

lcp_restart_timer: no path defined

Indicates that the specified lcp_restart_timer keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

link_monitor value string not recognized

Indicates that the specifies string is not a valid value for the link_monitor parameter. Valid values are on (enabled) and off (disabled).

link_monitor: no path defined

Indicates that the specified link_monitor keyword appears in the configuration file, but is not associated with any synchronous path definition.

link_monitor_retries value string not recognized

Indicates that the specified string is not a valid value for the link_monitor_retries parameter. You must enter an integer.

link_monitor_retries: no path defined

Indicates that the specified link_monitor_retries keyword appears in the configuration file, but is not associated with any synchronous path definition.

link_monitor_timer value string not recognized

Indicates that the specified string is not a valid value for the link_monitor_timer parameter. You must enter an integer.

link_monitor_timer: no path defined

Indicates that the specified link_monitor_timer keyword appears in the configuration file, but is not associated with any synchronous path definition.

malformed ip address: string

Indicates that the specified string is not a valid IP address, entered in Internet dot notation. IP addresses should have the form: xxx.xxx.xxx.xxx

must specify chap_own_secret

Indicates that the send_authentication keyword has been used to enable CHAP authentication when requested by a remote host, but that the mandatory CHAP parameter chap_own_secret has not been set.

must specify chap_peer_secret

Indicates that the send_authentication keyword has been used to enable CHAP authentication when requested by a remote host, but that the mandatory CHAP parameter chap_peer_secret has not been set.

must specify expect_chap_name

Indicates that the expect_authentication keyword has been used to request CHAP authentication from a remote host, but that the mandatory CHAP parameter expect_chap_name has not been set.

must specify send_chap_name

Indicates that the send_authentication keyword has been used to request CHAP authentication from a remote host, but that the mandatory CHAP parameter send_chap_name has not been set.

no paths defined in filename

The PPP path configuration file ppp.conf must contain at least one synchronous or asynchronous path definition. See "Editing the PPP Path Configuration File (ppp.conf)" for detailed instructions.

off, pap, or chap required: string

Indicates that the specified string is not a valid value for the expect_authentication parameter. Valid values are off (no authentication), pap (authentication using PAP), chap (authentication using CHAP), or pap|chap (authentication using both PAP and CHAP).

ppp_link_name: no path defined

Indicates that the specified ppp_link_name keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

remote_host too long: string

Indicates that there was not enough memory available to store the value of the remote_host parameter. This error message may indicate a more serious system error.

remote_host: no path defined

Indicates that the specified remote_host keyword appears in the configuration file, but is not associated with any dialup path definition.

remote_ip_addr: no path defined

Indicates that the specified remote_ip_addr keyword appears in the configuration file, but is not associated with any dialup path definition.

request_ip_addr value string not recognized

Indicates that the specifies string is not a valid value for the request_ip_addr parameter. Valid values are on (enabled) and off (disabled).

unix_device: no path defined

Indicates that the specified unix_device keyword appears in the configuration file, but is not associated with any synchronous or dialup path definition.

wildcards (* | ?) not legal for ipd

You cannot use wildcards to specify point-to-multipoint (ipdn) interfaces. In particular, you cannot use an asterisk (*) to specify a dynamic IP interface.

System Error Messages

System error messages indicate severe system or software errors, and should not appear during normal operation. They have the following form:


function_name: error_description failed

For example, the following system error indicates a memory allocation problem:


do_chap_name: malloc failed

If system errors occur, try stopping and restarting Solstice PPP. If system errors continue to occur systematically, contact your authorized service provider, and provide a description of the error message and the circumstances under which it is displayed.

Files and Directories

The following files and directories are created on your machine when you install Solstice PPP using the default base directories.

Solstice PPP Device Drivers (SUNWpppk)

Contains the device drivers for the Solstice PPP STREAMS module, connection manager, point-to-point and point-to-multipoint IP interfaces.

Table 6-2 Solstice PPP Device Drivers (SUNWpppk)

Files and Directories 

Description 

/usr/kernel/drv/ipd

Driver for IP point-to-multipoint interfaces 

/usr/kernel/drv/ipd.conf

Configuration file for ipd

/usr/kernel/drv/ipdcm

Connection manager daemon 

/usr/kernel/drv/ipdcm.conf

Configuration file for ipdcm

/usr/kernel/drv/ipdptp

Driver for IP point-to-point interfaces 

/usr/kernel/drv/ipdptp.conf

Configuration file for ipdptp

/usr/kernel/drv/ppp

PPP STREAMS module 

/usr/kernel/drv/ppp.conf

Configuration file for ppp

Solstice PPP Login Service (SUNWppps)

Contains the PPP login service daemon and connection process to support incoming calls. This package should only be installed if you have also purchased alicense for Solstice PPP to enable the server functionality.

Table 6-3 Solstice PPP Daemon and User Programs (SUNWpppu)

Files and Directories 

Description 

/usr/bin/pppin

Connection process for incoming calls 

/usr/sbin/pppls

PPP login service daemon 

Solstice PPP Daemon and User Programs (SUNWpppu)

Contains the PPP link manager daemon, and the Solstice PPP scripts and utilities.

Table 6-4 Solstice PPP Daemon and User Programs (SUNWpppu)

Files and Directories 

Description 

/usr/bin/pppconn

PPP connection program 

/usr/bin/pppdisc

PPP disconnection program 

/usr/bin/pppinit

PPP initialization script 

/usr/bin/pppsetmod

Modem configuration program 

/usr/bin/pppstat

Statistics collection utility 

/usr/bin/ppptrace

Trace utility 

/usr/sbin/pppd

Link manager daemon 

/usr/sbin/ppptool

GUI for connect and disconnect 

Solstice PPP Configuration Files (SUNWpppr)

Contains the initialization scripts and template configuration files for Solstice PPP.

Table 6-5 Solstice PPP Configuration Files (SUNWpppr)

Files and Directories 

Description 

/etc/opt/SUNWconn/ppp/modems

Modems database file 

/etc/opt/SUNWconn/ppp/ppp.conf

Template PPP path configuration file 

/etc/opt/SUNWconn/ppp/script/template

Template CHAT script 

/etc/init.d/ppp

Initialization script for Solstice PPP 

/etc/rc1.d/K48ppp

Symbolic link to /etc/init.d/ppp

/etc/rc2.d/S48ppp

Symbolic link to /etc/init.d/ppp

/etc/opt/SUNWconn/ppp/bitmaps

Icons for ppptool

Solstice PPP Man Pages (SUNWpppm)

Contains the product specific man pages for Solstice PPP.

Table 6-6 Solstice PPP Man Pages (SUNWpppm)

Files and Directories 

Description 

/usr/share/man/man4/ppp.conf

Man page for ppp.conf

/usr/share/man/man4/link.conf

Man page for link.conf

/usr/share/man/man4/modems

Man page for modem database 

/usr/share/man/man1m/pppinit

Man page for pppinit

/usr/share/man/man1m/pppconn

Man page for pppconn

/usr/share/man/man1m/pppdisc

Man page for pppdisc

/usr/share/man/man1m/pppsetmod

Man page for pppsetmod

/usr/share/man/man1m/pppd

Man page for pppd

/usr/share/man/man1m/pppls

Man page for pppls

/usr/share/man/man1m/pppin

Man page for pppin

/usr/share/man/man1m/pppstat

Man page for pppstat

/usr/share/man/man1m/ppptrace

Man page for ppptrace

/usr/share/man/man7/ipd

Man page for PPP ptm IP interface 

/usr/share/man/man7/ipdcm

Man page for PPP connection mgr 

/usr/share/man/man7/ipdptp

Man page for PPP ptp IP interface 

/usr/share/man/man7/ppp

Man page for PPP daemon 

AnswerBook for Solstice PPP

The AnswerBook package SUNWabppp, which contains the on-line documentation for Solstice PPP can be installed on your local machine, on a server, or mounted from CD-ROM.

Other Files and Modifications

Solstice PPP modifies the file /etc/ttydefs when it is installed. These changes may be overwritten if you install another version of the operating system.