add sync support
[ppp.git] / README.sol2
1 This file describes the installation process for ppp-2.3 on systems
2 running Solaris 2.  The Solaris 2 and SVR4 ports share a lot of code
3 but are not identical.  The STREAMS kernel modules and driver for
4 Solaris 2 are in the svr4 directory (and use some code from the
5 modules directory).
6
7 This version has been tested under Solaris 2.6.
8
9 NOTE: Although the kernel driver and modules have been designed to
10 operate correctly on SMP systems, they have not been extensively
11 tested on SMP machines.  Some users of SMP Solaris x86 systems have
12 reported system problems apparently linked to the use of previous
13 versions of this software.  I believe these problems have been fixed.
14
15
16 Installation.
17 *************
18
19 1. Run the configure script and make the user-level programs and the
20 kernel modules.
21
22         ./configure
23         make
24
25 If you wish to use gcc (or another compiler) instead of Sun's cc, edit
26 the svr4/Makedefs file and uncomment the definition of CC.  You can
27 also change the options passed to the C compiler by editing the COPTS
28 definition.
29
30 2. Install the programs and kernel modules: as root, do
31
32         make install
33
34 This installs pppd, chat and pppstats in /usr/local/bin and the kernel
35 modules in /kernel/drv and /kernel/strmod, and creates the /etc/ppp
36 directory and populates it with default configuration files.  You can
37 change the installation directories by editing svr4/Makedefs.
38
39 If your system normally has only one network interface, the default
40 Solaris 2 system startup scripts will disable IP forwarding in the IP
41 kernel module.  This will prevent the remote machine from using the
42 local machine as a gateway to access other hosts.  The solution is to
43 create an /etc/ppp/ip-up script containing something like this:
44
45         #!/bin/sh
46         /usr/sbin/ndd -set /dev/ip ip_forwarding 1
47
48 See the man page for ip(7p) for details.
49
50 Synchronous Serial Support.
51 ***************************
52
53 This version has working but limited support for the on-board synchronous HDLC 
54 interfaces. It has been tested with the /dev/se_hdlc and /dev/zsh drivers.
55 Synchronous mode was tested with a Cisco router.
56
57 There ppp daemon does not directly support controlling the serial interface.
58 It relies on the /usr/sbin/syncinit command to initialize HDLC mode and 
59 clocking.
60
61 Some bugs remain: large sized frames are not sent/received properly, and
62 may be related to the IP mtu. This
63 may be due to bugs in pppd itself, bugs in Solaris or the serial drivers. 
64 The /dev/zsh driver seems more larger and can send/receive larger frames
65 than the /dev/se_hdlc driver. There is a confirmed bug with NRZ/NRZI mode
66 in the /dev/se_hdlc driver, and Solaris patch 104596-11 is needed to correct
67 it. (However this patch seems to introduce other serial problems. If you
68 don't apply the patch, the workaround is to change the nrzi mode to yes or
69 no, whichever works)
70
71 How to start pppd with synchronous support:
72
73 #!/bin/sh
74
75 local=1.1.1.1   # your ip address here
76 baud=38400      # needed, but ignored by serial driver
77
78 # Change to the correct serial driver/port
79 #dev=/dev/zsh0
80 dev=/dev/se_hdlc0
81  
82 # Change the driver, nrzi mode, speed and clocking to match your setup
83 # This configuration is for external clocking from the DCE
84 connect="syncinit se_hdlc0 nrzi=no speed=64000 txc=rxc rxc=rxc"
85  
86 /usr/sbin/pppd $dev sync $baud novj noauth $local: connect "$connect"
87
88
89 Sample Cisco router config excerpt:
90
91 !
92 ! Cisco router setup as DCE with RS-232 DCE cable
93
94 !         
95 interface Serial0
96  ip address 1.1.1.2 255.255.255.0
97  encapsulation ppp
98  clockrate 64000
99  no nrzi-encoding
100  no shutdown
101 !         
102