WELCOME [ Log In · Register ]        SITE [ Search · Page Index · Recent Changes ]    RSS

Wanpipe Linux LAPB API Support

 

  1. LAPB API Pre Requisites
  2. LAPB API Installation
  3. LAPB API Installation Verification
  4. LAPB API Configuration
  5. LAPB API Operation
  6. LAPB API Debugging
  7. LAPB API Sample Codes
  8. LAPB API Decoded Sample Config File

 


Pre requisites

  1. A Linux kernel source or header must be available.

    Usually in /lib/modules/$(uname -r)/build directory.

    Furthermore, the linux source or headers version must
    match the currently running image.

    i.e. Output of 'uname -r'
    must match the source version
    number in /lib/modules/$(uname -r)/build/Makefile.

    Note: That on 99% of standard kernel distributions this is DEFAULT.

    Note: The Setup installation script checks for this condition and will take appropriate steps to resolve the name mismatch.

 


Installing WANPIPE with LIP LAPB support

  1. Download and Untar latest BETA wanpipe release for AFT A142/4 & S514 Cards
    -> tar xfz wanpipe-<version>.tgz
    -> cd wanpipe-<version>  
  2. Run ./Setup install
    Choose all default options until you come to COMPILATION.

    The LIP LAPB API support IS NOT installed by default during WANPIPE installation process.

    Select CUSTOM driver compilation option and choose:
        DEF <enter>
        LIPAPI <enter>   (Enables LIP LAPB and XDLC)
        q <enter>


    For the rest of the installation choose default parameters.


After successful installation proceed to configure you LAPB API card using:
/usr/sbin/wancfg GUI configurator.


Installation Verification

Run wanpipe hardware probe to make sure that the kernel modules
are working fine:

Run:    wanrouter hwprobe

    In case of error:
    -----------------

    Please contact Sangoma Tech Support
    Tel.     905 474 1990 ex118
    Email:  techdesk@sangoma.com


Configuring LIP LAPB API


Run: /usr/sbin/wancfg

1. Create new device

2. Select wanpipe1

3. Hardware Section

    Select Probe Hardware
        Select your A142 or S514 adapter.

     Configure hardware front end interface
        based on your ISP config:

            Interface:  V35  or
                              RS232

    Configure clocking mode:

            Clocking:   External (Default)
                             Internal

    Configure baud rage (if clocking = Internal)
        
           Baudrate:   64000    (Usually x25 lines go up to 128K)

4. Protocol Section
    Select Protocol: HDLC LAPB
   
    Configure Selected Protocol   
    --> Configure LAPB Protocol -> Specify DTE/DCE, Timers etc..
  
5. Interface Section
    
   Configure Operation Mode to: API

7. Save and Exit

 


Start LIP LAPB API protocol


Run: wanrouter start


    In case of errors:
    ------------------
    Run:     wanrouter messages
           
        It will display kernel error
        messages.

    Please contact Sangoma Tech Support
    Tel.     905 474 1990 ex118
    Email:  techdesk@sangoma.com


Startup Confirmation
--------------------

Run: wanrouter messages

    Make sure no error messages are displayed.

    Confirm the Link state

    Confirm that Restart Messages have been
        received and transmitted.

    Check for any error events.

 


Debugging LIP LAPB Line

Before starting with application programming, you must make sure that the LAPB protocol has come up and that it has successfully

Run:  tail -n 100 -f /var/log/messages

You should notice in /var/log/messages after wanrouter startup sequence messages such as:
"LABP Link Connectin..." -->  "LAPB Link Connected": This indicates Labp has come up.

Only once you see these messages in you /var/log/messages, can you proceed with sample applications.

Run:  cat /proc/net/wanrouter/lapb/config

You should notice the lapb link state for each lapb link. 
You should see "Link Ready/Connected"


If you don't see above messages, and lapb is not connected you must check the following:

1. lapb Configuraton

Configure for DTE if remote end is DCE and vice versa.
Configure for External clocking if remote is configured for Internal and vice versa.

2. Tracing the line

run: wanpipemon -i wp1mp -c tr 
Start trace and check for incoming and outgoing frames. If you dont see any INCOMING frames you might have cable problems.

3. Cable Issues

To configure two S514/A14X cards back to back, you need a NULL MODEM Cable.
Or a sangoma back to back S514/A14X cable.


Or a sangoma back to back S514 cable.


Custom LAPB API Application


A sample API application exists in
/etc/wanpipe/api/aft directory.

Since LAPB is just a single link protocol, one can use the general AFT api sample code to bind to
LAPB interface and read/write data.

To compile it run:  make

Run:    ./aft_api -i w1clapb -c wanpipe1 -r -w -txsize 100 -txcnt 10  -verbose  # transmitter
           ./aft_api -i w1clapb -c wanpipe1 -r -verbose  # receiver

API ./aft_api USAGE:

./aft_api <options> <extra options>

<options>:
    -i  <ifname>     #interface name
    -c  <card name>  #card name
    -r               #read enable
    -w               #write eable

<extra options>
    -txcnt   <digit>  #number of tx packets  (Dflt: 1)
    -txsize  <digit>  #tx packet size        (Dflt: 10)
    -txdelay <digit>  #delay in sec after each tx packet (Dflt: 0)
    -txdata  <digit>  #data to tx <1-255>

    -txfile  <file>   #Use file to tx instead
    -rxfile  <file>   #Save all rx data to a file
    
    -rxcnt   <digit>  #number of rx packets before exit
              #this number overwrites the txcnt
                      #Thus, app will only exit after it
                      #receives the rxcnt number of packets.
    
    -verbose      #Enable verbose mode


Decoded Wanpipe Configuratoin File


The /usr/sbin/wancfg creates the following file in:

/etc/wanpipe/wanpipe1.conf


#================================================
# WANPIPE1 Configuration File
#================================================
#
# Date: Fri Jun 25 16:47:33 EDT 2004
#
# Note: This file was generated automatically
#       by /usr/sbin/wancfg program.
#
#       If you want to edit this file, it is
#       recommended that you use wancfg program
#       to do so.
#================================================
# Sangoma Technologies Inc.
#================================================

[devices]
wanpipe1 = WAN_MULTPROT, Comment

[interfaces]
wp1mp = wanpipe1, , STACK, Comment
wp1lapb = wanpipe1, 1 ,API, lip_lapb, lapb.wp1mp, , 


[wanpipe1]
CARD_TYPE     = S51X
S514CPU     = A
AUTO_PCISLOT    = YES
PCISLOT     = 5
PCIBUS        = 0
Firmware    = /etc/wanpipe/firmware/cdual514.sfm
CommPort    = PRI
Interface     = V35
Clocking     = Internal
BaudRate     = 64000
MTU         = 1500
UDPPORT     = 9000
TTL         = 255
IGNORE_FRONT_END  = NO

[lapb.wp1mp]
STATION    = DTE
T1    = 2
T2    = 0
T3    = 6
T4    = 3
N2    = 5
MODE = 8
WINDOW  = 7
MAX_PKT_SIZE = 1024


[wp1mp]
HDLC_STREAMING    = YES
MPPP_PROT    = HDLC
IGNORE_DCD    = YES
IGNORE_CTS    = YES