The Linux PPP/Multi-Link PPP solution is comprised of:Multi-Link
Linux PPPD daemon
PPPD Release ........................pppd-2.4.7.tgz
Sangoma AFT A101/2/4/8 T1/E1 Cards
Wanpipe Installation
Download latest STABLE wanpipe release
-->wanpipe-7.0.20.6.tgzUntar wanpipe release
--> tar xfz wanpipe-<ver>.tgzInstall wanpipe release
--> cd wanpipe-<ver>
--> ./Setup install
Use all default optionsConfirm successful install
--> wanrouter version
--> wanrouter hwprobe
pppd Installation
Untar pppd release into /usr/src directory
--> tar xfz pppd-<ver>.tgzCompile PPPD
--> makeInstall PPPD
--> make install
Configuration
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
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.
PPPD Setup
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 #Enter IP Address for PPP link here
#user bonded-isp-username
-------CUT HERE----------------------
NOTE: The text files must be the same for all the wanpipe devices being binded.
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
pppmon
Operation
Start pppd for each wanpipe T1/E1 port configured
pppd call isp_wanpipe1
pppd call isp_wanpipe2
pppd call isp_wanpipe2
Confirm that there are no ppp errors in /var/log/messages
Confirm that ifconfig shows the ppp0 interface with correct IP address
Create your own systemd startup service to launch pppd for each peer.
Tests
To simulate T1 down run:
wanpipemon -i w1g1 –c Txd # Disable transmitter, causes T1 to go down
wanpipemon -i w1g1 –c Ttxe # Enable transmitter, causes T1 to come back up
Using above commands you can simulate each line dropping while you are doing network test
Use ping and iperf to do network load testing.
Debugging
wanpipemon utility
wanpipemon <enter> for help
T1/E1 Alarm Statistics
wanpipemon -i w1g1 -c Ta
More Info
Sample Cisco 1600 Setup
This example setup should be given to an ISP that doesn't
know how to setup up Mulitlink PPP on a Cisco box :)
Scenaraio:
Two Wanpipe adapters connected back to back to a CISCO 1600 via two
WAN T1 lines, running MULTILINK PPP, in order to bundle two T1 lines
for geater than T1 throughput.
Enter the CISCO configuration mode
Cisco>enable
Cisco>password: <enter password>
Cisco#
Configure Global Mulitlink PPP protocol
Cisco# config
Cisco(config)# multilink virtual_template 1
Cisco(config)# exit
Configure Serial0 device for Multilink PPP
Cisco# config
Cisco(config)# interface serial0
Cisco(config-if)# encapsulation ppp
Cisco(config-if)# no ip address
Cisco(config-if)# ppp multilink
Cisco(config-if)# no shutdown
Cisco(config-if)# exit
Configure Serial1 device for Multilink PPP
Cisco(config)# interface serial1
Cisco(config-if)# encapsulation ppp
Cisco(config-if)# no ip address
Cisco(config-if)# ppp multilink
Cisco(config-if)# no shutdown
Cisco(config-if)# exit
Configure virtual_template interface
Cisco(config)# interface virtual_template 1
Cisco(config-if)# encapsulation ppp
Cisco(config-if)# ip address <local ip> <netmask>
Cisco(config-if)# ppp multilink
Cisco(config-if)# exit
Cisco(config)# exit
Back to Back situation
----------------------
If you are setting up WANPIPE back to back Multilink
against an external router:
Interface (onboard FT1 CSU/DSU):
Cable: Back to Back T1 cable (Part number: 624).
Interface (V35):
Cable: Back to Back V34 Cable (Part number: 609)
Clocking: Clocking must be set to INTERNAL on the
WANPIPE side.
For all sangoma cables please refer to:
http://www.sangoma.com/faqcable.htm