XGlue

AXUDP Driver for(X)Net to operate with AGW Packet Engine

Version 1.30.12

by Ing. Pedro E. Colla (LU7DID)

Copyright 2001 LU7DID

 

 
 

 

 

 

 

 

 

 

 


Table of Contents

 

Table of Contents. 1

Introduction. 2

Installation. 2

Configuration. 3

Windows Configuration. 3

AGWPE Configuration. 3

(X)Net Configuration. 4

Attach Commands. 4

Port Commands. 5

XGLUE Configuration. 6

General Guidelines. 6

Distributed Activity. 6

Interoperability with Linux (X)Net 7

Management of AGWPE Applications thru (X)Net 7

Operation with another Node. 8

Interoperability with PC/FlexNet 8

Operation. 8

Removal. 8

Disclaimer and License Statement. 8

 

 

 


 

Introduction

 

The node software (X)Net© [1] is provided on several platforms, being Win9x/ME and WinNT/2000®[2] among them (NTNET).

 

However, no native support to use the AGW Packet Engine ©[3] is provided in the package as a Layer 2 Manager (the one who manages the radio ports); at the same time native driver support for devices is rather limited on (X)Net, mostly KISS TNCs and USCC cards on the Win platform, so interoperation with the AGWPE might allow the access to a much wider selection of AX.25 devices.

 

One of the drivers natively provided by (X)Net allows it to support AXIP and AXUDP connections with other nodes (AX.25 over TCP/IP as per the RFC-1226 standard).

 

XGlue is a program that "glues" (X)Net to the radio ports managed by the AGW Packet Engine by mean of acting as an AXUDP server in one end of the conversation (XNET end) and an AGWPE WinSocks API client (AGWPE end).

 

Once the configuration is appropriately set, the interconnection is established data sent by (X)Net is transparently posted on AGWPE and data received at the AGWPE selected ports is posted into (X)Net.

 

Because of the way the communication is performed all AX.25 parameters controlling the links are the ones configured at (X)Net.

 

 

Installation

 

Installation is rather simple

 

·        Execute the setup file XGLUEVxx.EXE and choose the installation defaults.

·        Configure the file XGLUE.INI configuration file (see XGLUE Configuration)

·        Configure (X)Net to properly access the ports provided by XGlue (see (X)Net Configuration)

 

 


 

Configuration

 

Windows Configuration

 

The TCP/IP stack of Windows must be properly installed and configured for this combination to work; TCP/IP is used to sustain the basic communications between AGWPE↔XGlue↔XNet so configuration problems on the stack would lead to bad results.

 

A basic verification to see if the TCP/IP stack is properly configured is to be able to “ping” the loopback port of the machine, to verify that at the Command Processor window do:

 

                        Ping 127.0.0.1

 

A response like

 

Pinging 127.0.0.1 with 32 bytes of data:

 

Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

Reply from 127.0.0.1: bytes=32 time<10ms TTL=128

 

Ping statistics for 127.0.0.1:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum =  0ms, Average =  0ms

 

Will indicate a proper configuration, other responses might indicate problems that got to be fixed before to continue with the configuration.

 

Please refer to the Windows documentation in order to understand the procedures and steps required to properly install the TCP/IP stack.

                       

AGWPE Configuration

 

No special configuration is required on AGWPE, define all the radio ports you want to support with the devices you got; one loopback port is supported if required as just an additional radio port.

 

Use the most updated version of the AGWPE, at the moment this manual is written it’s Version 2001.12, get the lattest version from SV2AGW Home Page.

 

Perform the installation according with the AGWPE documentation, verify the installation is functional thru the successful usage of one or more of the AGWPE clients (such as AGWMonitor or AGWTerminal)

 

Be sure to:

 

·        Enable the WinSocks support (Setup Interfaces/WinSock Interface)

o       Check the “Enable Winsock TCP/IP Application Interface

o       Set TCP as “8000”.

o       Click on “Accept”.

·        If security is configured (Setup Interfaces/WinSock Interface Security) use the proper settings on the XGLUE.INI file for it to be able to connect AGWPE.

o       Check “Accept without Login from Anywhere (No Security).

 

 

(X)Net Configuration

 

(X)Net is a rather big and complex piece of code and it's completely beyond the scope of this document to address that subject, you could get the latest version and documentation directly from the DL1GJI Home Page.

 

Warning!!

XGlue is prepared to work with (X)Net Version 1.30 or higher..

 
 

 

 

 

 

 

 


However, the part of the configuration relevant for XGLUE is based on the proper use of the ATTACH and PORT commands which will be discussed with further detail in the following sections.

 

 

Attach Commands

 

Use one ATTACH entry for every port device you want to support thru an AGWPE port, this configuration assumes you have no other device and assigns port numbers starting with 0; this is not really a restriction since (X)Net knows nothing about AGWPE or it’s port numbering but it’s a good approach for mnemonic reasons to establish a convention where both (X)Net and AGWPE uses the same port numbers for the same devices.

 

Nothing prevents ATTACH statements bounding (X)Net to other interfaces not controlled by  AGWPE to be included as well on the same configuration.

 

Follows the general format of the ATTACH command required, Use one ATTACH entry for every physical port supported by AGWPE (including the Loopback port), the general format would be:

 

 

 

 

 

attach

ip0

axudp

0

1

l93

d9300

127.0.0.1

 

Interface Name, XNet supports from ip0 thru ipf

 

fixed

First port assignement,

following statements must increase this number into 1..n

Should match the AGWPE port number

fixed

UDP port where XNET will listen for this AXUDP link

UDP port where the partner of the link (XGLUE in this case) will listen.

IP Address where the other end of the link is located. Use the proper IP address if located on a different machine.

 

 

 

 

UDP ports used for both the (X)Net and XGlue ends must be unique on the machine both programs are been run, duplicate port numbers will lead for communication failures.

 

Port Commands

 

Use one set of PORT entries for each interface previously defined; the following sample configuration set should be repeated for each port defined, the complete set should be included into the autoexec.net file for automatic configuration at startup. Replace “x” by the actual interface number, 0..n.

 

          po x baud 1200

          po x dup 1

          po x win 7

          po x name AGW1>145.15 Mhz

          po x persistence 128

          po x quality 250

          po x retries 32

 

Actual values should be customized by each sysop according with the link characteristics he/she wants to set for the particular port (windows, persistence, quality, retries, name, etc).

 

The 'baud' setting is VERY relevant, it has to match the real bandwidth of the physical port in AGWPE to which this port will be associated; if values higher than necessary are stated AGWPE will be "flooded" with packets as speeds that it could not possibly handle on the available bandwidth, result will be very unreliable physical connections, timeouts, etc.

 

 


 

XGLUE Configuration

 

XGlue configuration is made thru entries on the XGLUE.INI file (a sample is provided with the installation installation).

 

Any ASCII text editor could be used to configure the entries.

 

    [XGLUE]

    LOGFILE=XGLUE.LOG       <-- Log file if TRACE > 0

    TRACE=1                 <-- Trace Level

    RECOVER=TRUE            <-- Try to recover connection fails with AGWPE?

    DUAL=YES                <--.Dual UDP channel (default), Single (NOT)

 

    [AGW]

    ADDRESS=127.0.0.1       <-- Machine where AGWPE is running

    PORT=8000               <-- Port where AGWPE listen for WinSock API apps

    LOGIN=                  <-- Login (if configured on AGWPE)

    PASSW=                  <-- Password (if configured on AGWPE)

 

    [XNET]

    ADDRESS=127.0.0.1       <-- Machine where (X)Net is running

 

    [XNET.PORT]

    0=1,9300,93             <-- Format

    1=2,9400,94                  XXX=1,9300,93 ß Port defined at XNet

    2=3,9500,95                  |   | |  

    3=4,9600,95                  |   | |   

                                 |   | +------> UDP port where XGlue listen

                                 |   |          should match the "d" argument

                                 |   |          on the XNet ATTACH command

                                 |   |

                                 |   +--------> AGWPE RadioPort mapped to this

                                 |              (X)Net interface (1..N)

                                 |

                                 +------------> Any non-repetitive "fantasy"

                                             name for the entry (i.e. “P0”)

 

General Guidelines

 

·         Each AGWPE radioport must have one entry on the [XNET.PORT] list and one ATTACH command on the AUTOEXEC.NET file of (X)Net; both must be consistent.

·         Each AGWPE radioport must have a maximum of one associated interface configured on XGLue and/or (X)Net.

·         As stated UDP ports for both (X)Net and XGlue must be unique on the machine both programs are respectively used.

·         To operate with PC/FlexNet32 the parameter DUAL=NOT must be stated.

 

 

Distributed Activity

 

This setup assumes that (X)Net, XGlue and AGWPE will be run on the same   machine; this is the configuration that would make sense in most cases.

 

However, nothing prevent to run those components on up to three different machines provided that TCP/IP connectivity do exist between them.

 

In case the machines where the programs are run be different the proper IP Addresses must be configured on both the (X)Net and XGlue configurations to point to the appropriate machines for the respective components.

 

Interoperability with Linux (X)Net

 

Both AGWPE and XGlue are Win based applications, so they MUST run under  Windows, no version for Linux do exist for any of them.

 

However, (X)Net have equivalent versions for BOTH Win and Linux so it's inmaterial which version is used.

 

Provided the need for at least two different machines is acceptable (one for Win and another for Linux) no other restriction do apply to interoperate between AGWPE/XGlue on a Win platform and (X)Net on a Linux platform as long as both machines has TCP/IP connectivity among them.

 

Management of AGWPE Applications thru (X)Net

 

Applications running under AGWPE could be made visible to the (X)Net node thru it’s definition using the ROUTER LOCAL statements of the (X)Net configuration.

 

(X)Net should be configured to connect with the applications thru the AGWPE LoopBack port which must be configured and have a proper definition on XGlue and the respective ATTACH on (X)Net as just another port.

EXAMPLE

 

The following (X)Net configuration will allow a BBS (LU7DID:LUGATE) and a DX Cluster (LU7DID-3:DXCDID) to be accessed thru Port 3 (assumed to have been defined as associated with the AGWPE LoopBack port).

 

ROUTER LOCAL 3 LU7DID nd LUGATE

ROUTER LOCAL 3 LU7DID-3 nd DXCDID

 

at some part of the configuration a statement like

ATTACH ip3 axudp 3 1 –l96 –d9600 127.0.0.1

 

And XGlue must be configured accordingly with

[XNET.PORT]

…..

3=3,96,9600

…..

 
 

 

 

 

 



Operation with another Node

 

Another NETROM or FlexNet node could be defined under the same AGWPE where (X)Net is attached to.

 

If such a configuration is required routes on both nodes to see each other must be established thru the AGWPE loopback port.

 

Interoperability with PC/FlexNet

 

XGlue allows to establish interoperability between PC/FlexNet and AGWPE, in a way that the vastly superior quantity and quality of the AX.25 generation methods provided by AGWPE could be used from PC/FlexNet.

 

In order to comply with the requirements of the AXIP driver of PC/FlexNet32 XGlue has to operate with a single UDP socket instead of the default configuration of using dual socket; to enable this mode of operation the parameter DUAL has to be stated as NOT in the XGLUE.INI configuration.

 

However this mode of operation could not receive any support since it’s impossible to get any answer in case of problems from the PC/FlexNet team or any other gesture of cooperation, so basically if you try it do it at your own risk since I’ll be unable to support you.

 

Operation

 

The operation of XGlue once configured is rather simple and unattended, for the connectivity between AGWPE and (X)Net to be possible the program must be running but this is all what is required to operate it.

 

XGlue, AGWPE, and (X)Net could be shutdown and restarted in any order at any moment without affect the others; connectivity will be resumed as soon as all components are back into operation.

 

TCP/IP connectivity between all machines is assumed to be of high bandwidth (LAN or Intranet), operation thru a public network (such as the Internet) is not supported nor recommended because of fragmentation and security issues. XGlue isn't appropriate to be used on wormhole or tunnel setups, if you're willing to setup such configuration implement it using (X)Net separately.

 

 

Removal

 

In order to remove the program the directory where it's installed should be deleted; no resources outside that directory are installed.

 

An unistallation resource is provided when the program is installed.

 

Disclaimer and License Statement

 

XGlue is free for radioamateur and experimental uses, commercial use requires written permission from the author.

 

(X)Net is © of Joachim Scherer (DL1GJI) and the AGW Packet Engine © of George Rossopoulous (SV2AGW); this software doesn't affect either the copyright nor the license of any of those packages; code used to develop XGlue is from my own development and thus it's usage is Copyright © 2001 Pedro E. Colla (LU7DID)and subject to this license restrictions.                                   

 

It is your responsability to fulfill all license conditions of the packages integrated by this program and to avoid situations where it's usage might conflict partially or totally with the licensed conditions of usage for them.

 

The author bears no liability for damages related to the usage of this program nor guarantees the proper functional behaviour. I could certainly be more sophisticated in legal terms, but in a nutshell use it at your own risk.

 

Please direct comments, bug reports and feedback for enhancements to:

 

AX.25:   LU7DID@LU7DID.#ADR.BA.ARG.SOAM

Inet:    [email protected]

 

For the most current version of XGlue go to the LU7DID Home Page.

 



[1] (X)Net is © Joachim Scherer (DL1GJI).

[2] Trademark MicroSoft Corporation.

[3] AGW Packet Engine is © George Rossopoulous (SV2AGW).