Wanpipe Multi-Link PPP
The Linux PPP/Multi-Link PPP solution is comprised of:
- Linux PPPD daemon
- Sangoma AFT A101/2/4/8 T1/E1 & AFT S518/ADSL cards
Sangoma has updated the PPPD Linux daemon to properly support Multi-Link PPP protocol. The original pppd-2.4.4 has a major architectual bug that caused it to fail on PPP recovery. This document will describe how to install and configure Multi-Link PPP with Sangoma cards.
- PPPD Release ........................ pppd-2.4.4.4.tgz
- Installation
- Configuration
- Operation
Wanpipe Installation
- Download latest STABLE wanpipe release
-->Dowload wanpipe release
- Untar wanpipe releaes
--> tar xfz wanpipe-<ver>.tgz
- Install wanpipe release
--> cd wanpipe-<ver>
--> ./Setup install
Use all default options
- Confirm successfull install
--> wanrouter version
--> wanrouter hwprobe
pppd Installation
- Untar pppd release into /usr/src directory
--> tar xfz pppd-<ver>.tgz
- Compile PPPD
--> make
- Install PPPD
--> make install
Configuration
3. Wanpipe Setup/Configuration
Configure Sangoma Card for TTY mode
/usr/sbin/wancfg
Select Card Type:
A10x, A30x or S51x
Choose Protocol:
TTY
Configure interface:
Select TTY MINOR number
TTY MINOR represents a TTY port.
Options: 0,1,2 - 8
Default: 0
It binds a WANPIPE device driver to the /dev/ttyWPX device, where X=(0,1,2,..).
For example MINOR number 0 binds a Wanpipe TTY driver to /dev/ttyWP0. Thus, when pppd daemon opens the /dev/ttyWP0 it will reach the device driver whose Minor number is 0.
Note: TTY_MINOR must differ for each Wanpipe device.
Save and Exit
4. Start wanpipe:
wanrouter start wanpipe1
Check /var/log/messages.
You should see this event:
...
w1g1: TTY Driver Init: Major 240, Minor Range 0-7
w1g1: TTY Sync Dev Minor 0 : /dev/ttyWP0
...
Now the driver is ready for pppd connection.
5. PPPD Setup
Create a device node:
To interface a PPPD daemon to the WANPIPE TTY driver a /dev/ttyWPX X={0,1,3...) device must be created.
ex: mknod -m 666 /dev/ttyWP0 c 240 0
mknod -m 666 /dev/ttyWP1 c 240 1
mknod -m 666 /dev/ttyWP2 c 240 2
...
Note: 240 is the Major Number; 0,1,2... are the Minor Numbers
Configure PPP Daemon options:
Create a text file in /etc/ppp/options
Copy and Paste the following:
-------CUT HERE ----------------------
persist
defaultroute
asyncmap 0
sync
lcp-echo-interval 1
lcp-echo-failure 5
nobsdcomp
nodeflate
nopcomp
novj
novjccomp
noaccomp -am
multilink
#On some CISCO routers we must
#be in silent mode
#silent
#DEBUG Only should be commented out in production
#nodetach
#debug
#kdebug 2
-------CUT HERE ----------------------
Bind Wanpipe device to PPP Daemon
Create a text file /etc/ppp/peers/isp_wanpipeX (X=1 to 16)
-------CUT HERE----------------------
ttyWP0 #Bind to WANPIPE device wanpipe1
sync
multilink
#201.1.1.1:201.1.1.2
#user bonded-isp-username
-------CUT HERE----------------------
6. PPPD Operation
All wanpipe devices should be started before pppd is started.
wanrouter start
Once the Wanpipe device is started, PPP connection can be established by calling the pppd call script (created by wancfg):
pppmon isp_wanpipe1
7. Automating PPPD Startup during Wanrouter Start
Add a wanrouter external script "start" in /etc/wanpipe/scripts directory
The "start" script will get executed after each "wanrouter start" command.
vi /etc/wanpipe/scripts/start
----- CUT HERE ------
#!/bin/sh
pppmon isp_wanpipe1 isp_wanpipe2
#Insert any other pppd devices
-------CUT HERE------
save and exit
Operation
- pppmon startup utility
The pppmon utility is used to start the pppd process in Multi-Link Mode. It will monitor the pppd processes and restart them if certain conditions are reached. pppmon is critical to multilink reliability.
--> pppmon isp_wanpipe1 isp_wanpipe2 isp_wanpipe3
- ppp utility applications
--> pppstart
(first kills pppmon/pppd and then starts pppmon from init
script...)
--> pppstop
(kills pppmon pppd)
--> pppstate
(sends signal to pppd and greps the logs: displays state
of each ppp link)
|